Commit Graph

443 Commits

Author SHA1 Message Date
Hajime Hoshi
84e53d4c61 internal/graphicsdriver/opengl, internal/uidriver/glfw: treat Win32 API errors correctly
The returned errors from syscall.Syscall* and windows.LazyProc.Call come
from GetLastError. The value of GetLastError is not reliable when the
function succeeds.

This change fixes the usages of error values. The error value is now
used only when the API explicitly fails.
2022-01-30 15:54:24 +09:00
Hajime Hoshi
1d59023649 internal/gamepad: make the APIs concurrent-safe again 2022-01-29 03:41:47 +09:00
Hajime Hoshi
71e17efd80 internal/gamepad: simplify the implementation by making the APIs concurrent-unsafe 2022-01-29 02:07:15 +09:00
Hajime Hoshi
5edfd1b743 internal/gamepad: move the implementation of gamepad for GOOS=js
Updates #1957
2022-01-29 01:44:42 +09:00
Hajime Hoshi
2df4e17ae9 internal/uidriver/mobile: bug fix: use AVFoudation instead of AVFAudio for old iOS 2022-01-27 00:28:01 +09:00
Hajime Hoshi
12de3a7749 internal/uidriver/mobile: bug fix: specify a shared AVAudioSession for CHHapticEngine
Closes #1976
2022-01-26 23:53:56 +09:00
Hajime Hoshi
eabd82cda0 internal/uidriver/mobile: make Vibrate async 2022-01-26 22:36:31 +09:00
Hajime Hoshi
8f1f9e3a5f internal/uidriver/glfw: do not set the window size on fullscreen
The window size and the framebuffer size of fullscreen doesn't match.

Updates #1960
2022-01-26 16:23:34 +09:00
Hajime Hoshi
5ee493e85a internal/uidriver/glfw: bug fix: needed to adjuts the units between the framebuffer and the window
Updates #1960
Closes #1975
2022-01-26 04:58:08 +09:00
Hajime Hoshi
f76d1c8d50 Revert "internal/uidriver/glfw: bug fix: needed to set the window position after restoring from fullscreen"
This reverts commit 99a15d81f4.

Reason: The true culprit was 12c144070f

Updates #1975
2022-01-26 04:57:28 +09:00
Hajime Hoshi
99a15d81f4 internal/uidriver/glfw: bug fix: needed to set the window position after restoring from fullscreen
Closes #1975
2022-01-26 04:29:12 +09:00
Hajime Hoshi
da1d6ddf17 internal/uidriver/glfw: refactoring: SetTitle after restoring from fullscreen is no longer needed 2022-01-26 04:15:09 +09:00
Hajime Hoshi
11d01f4de1 internal/cbackend: add EbitenVibrateGamepad
Updates #1452
2022-01-26 03:32:52 +09:00
Hajime Hoshi
fb3a022327 ebiten: use the DB's name for GamepadName
Updates #1949
2022-01-25 21:14:03 +09:00
Hajime Hoshi
cdf2335f5a refactoring: better error handlings on Windows 2022-01-23 18:30:40 +09:00
Hajime Hoshi
ff24f7718c internal/uidriver/glfw: use an original implementation for macOS
Updates #1452
2022-01-23 01:48:24 +09:00
Hajime Hoshi
f5edc189e6 internal/uidriver/glfw: bug fix: wrong lock usages 2022-01-17 01:29:29 +09:00
Elias Daler
12c144070f
internal/uidriver/glfw: fix window float enable/disable (#1962)
Closes #1960
2022-01-17 00:28:25 +09:00
Bertrand Jung
c4fbcdd1ae
internal/uidriver/glfw: use FreeConsole instead of hiding (#1961)
Closes #485
2022-01-16 22:31:17 +09:00
Hajime Hoshi
ca3f84fdd6 internal/uidriver/cbackend: rename an argument
Updates #1452
2022-01-11 04:12:08 +09:00
Hajime Hoshi
eb6e2026dc internal/uidriver/glfw: remove unused go:generate comments 2022-01-10 22:05:17 +09:00
Hajime Hoshi
d4b722eb06 ebiten: rename VibrateOptions.Intensity -> Magnitude
Updates #1452
2022-01-10 16:02:26 +09:00
Hajime Hoshi
edff1f0dd9 internal/gamepaddb: enable mappings for iOS
Updates #1557
Closes #1722
2022-01-09 17:57:09 +09:00
Hajime Hoshi
4106fb15fe internal/gamepaddb: implement the mappings for Android
Updates #1557
2022-01-09 03:29:19 +09:00
Hajime Hoshi
116203c5a5 cmd/ebitenmobile: update gomobile version (reland)
This switches from .framework to .xcframwork for iOS.

Closes #1922
2022-01-05 17:31:46 +09:00
Hajime Hoshi
ebb4851a32 internal/uidriver/js: bug fix: context might be nil before the loop starts
Closes #1928
2022-01-03 15:17:30 +09:00
Changkun Ou
626c91e360
ebiten: add RunOnMainThread(func()) (#1927)
Closes #1926
2022-01-03 03:30:29 +09:00
Hajime Hoshi
220a8f48ac internal/uidriver/glfw: refactoring: remove initTitle 2021-12-29 22:26:56 +09:00
Hajime Hoshi
5ee2ff56ca interna/uidriver: refactoring: remove initFPSMode 2021-12-29 22:21:27 +09:00
Hajime Hoshi
1799ed0b28 add a build tag 'ebitencbackend' and internal/cbackend
This enables to create a C archive with Ebiten without an actual driver
implementation. This enables Ebiten work on a platform Go doesn't support.
See also Hitsumabushi project: github.com/hajimehoshi/hitsumabushi.

The backend C API is not stable and might change later. Then, the build
tag 'ebitencbackend' is not documented on purpose.

Closes #1900
2021-12-22 21:12:48 +09:00
Hajime Hoshi
39ef252c2e
ebiten: Add VibrationOptions to specify intensity (#1891)
Updates #1452
2021-12-04 22:14:02 +09:00
Hajime Hoshi
bdf78dab27 internal/uidriver/glfw: Clean up build tags 2021-11-27 18:52:33 +09:00
Hajime Hoshi
ef5f8a9018 internal/uidriver/glfw: Adjusting the view size is not needed on macOS 12
Updates #1745
2021-11-27 18:47:05 +09:00
Hajime Hoshi
e6f2764d08 internal/uidriver/glfw: Refactoring: Remove toChangeSize
Updates #1884
2021-11-27 18:00:39 +09:00
Hajime Hoshi
22e64c7df0 internal/uidriver/glfw: Bug fix: Rendering should be updated after restoring from fullscreen
u.toChangeSize affects the result of u.updateSize. When the callback
for WindowSetSize is invoked, toChangeSize should be true.

In order to simplify the logic, we have to remove toChangeSize later.

Closes #1884
2021-11-27 17:53:40 +09:00
Hajime Hoshi
73bf7a0939 internal/uidriver/glfw: Bug fix: Return a tentative scale when glfw.GetPrmaryMonitor returns 1
Updates #1878
2021-11-24 22:35:10 +09:00
Hajime Hoshi
b4f87f9651 internal/uidriver/mobile: Implement Vibrate for Android
This change also adds AndroidManifest.xml for the example. This is
used for `gomobile install` command.

Updates #1452
2021-11-19 01:49:22 +09:00
Hajime Hoshi
ee414ed849 Revert "internal/uidriver/glfw: Refactoring"
This reverts commit c4df397d87.

Reason: Compile error
2021-11-12 22:29:03 +09:00
Hajime Hoshi
c4df397d87 internal/uidriver/glfw: Refactoring 2021-11-12 22:19:32 +09:00
Hajime Hoshi
b6cf95f5bb internal/uidriver/js: Optimization: Reduce the call of js.Value.Get 2021-11-12 02:48:58 +09:00
Hajime Hoshi
1f7e7e2816 internal/uidriver/mobile: Remove the warnings
Closes #1872
2021-11-11 02:28:05 +09:00
Hajime Hoshi
5d5ce370f1 internal/uidriver/mobile: Implement Vibrate on iOS
Updates #1452
2021-11-11 00:50:02 +09:00
Hajime Hoshi
113796efae internal/uidriver/glfw: Bug fix: Crashed a transparent button with the green button
Updates #1822
Closes #1857
2021-10-31 18:21:19 +09:00
Hajime Hoshi
5b7724f575 internal/uidriver/mobile: Bug fix: Compile error 2021-10-25 03:01:33 +09:00
Hajime Hoshi
2aa232878d ebiten: Add VibrateGamepad and implement this on browsers
Updates #1452
2021-10-25 02:30:42 +09:00
Hajime Hoshi
dde53df6ae internal/uidriver/glfw: Bug fix: Compile error 2021-10-24 15:23:25 +09:00
Hajime Hoshi
ef62f407d1 Clean up build tags 2021-10-24 15:05:36 +09:00
Hajime Hoshi
7c6f2fd799 ebiten: Vibrate takes time durations instead of the options
Android and browsers can specify only a time duration for vibration.

VibrateOptions is renamed to GamepadVibrateOptions for gamepads.

Updates #1452
2021-10-24 05:02:49 +09:00
Hajime Hoshi
f96d0a97a8 internal/uidriver/mobile: Bug fix: Compile error 2021-10-24 01:22:02 +09:00
Hajime Hoshi
b8a5ea7bd6 ebiten: Add Vibrate and VibrateOptions, and implement this on browsers
Updates #1452
2021-10-24 01:05:33 +09:00