Hajime Hoshi
49c3c30c79
ebiten: Add IsWindowBeingClosed / SetWindowClosingHandled / IsWindowClosingHandled
...
IsWindowBeingClosed reports whether the window is being closed by
the user.
SetWindowClosingHandled sets whether the window closing is handled
or not. If the state is true, the window is not closed immediately
by the user and the game can handle the closing state. In this case,
the Update function should return an error in order to end the game.
This change also adds examples/windowclosing.
Closes #1574
2021-06-14 02:29:11 +09:00
Hajime Hoshi
f989ce4e64
internal/uidriver/glfw: Rename variables
2021-06-13 23:25:24 +09:00
Hajime Hoshi
bceb512e78
internal/glfw: Bug fix: build failure with GOOS=js
...
Updates #1672
2021-06-13 22:59:57 +09:00
Hajime Hoshi
ed6756662a
internal/glfw: Clean up the code
...
Updates #1672
2021-06-13 22:48:27 +09:00
Hajime Hoshi
3c2d562967
internal/glfw: Bug fix: NewCallbackCDecl objects were leaked
...
Callbacks created by NewCallbackCDecl were never released and then
they are leaked, especially when the window size was changed by
SetWindowSize on Windows.
This change defines new callback ID types with uintptr, and reuse
the callbacks.
Closes #1672
2021-06-13 22:23:01 +09:00
Hajime Hoshi
0cea5f2f1a
internal/glfw: Remove one of go-vet warnings
2021-06-13 14:41:39 +09:00
Hajime Hoshi
584c6524ee
internal/graphicsdriver/opengl: Refactring
2021-06-13 14:19:33 +09:00
Hajime Hoshi
741548351c
Update README (supporting Nintendo Switch)
2021-06-11 23:51:51 +09:00
Hajime Hoshi
06e09c8ef2
Bug fix: Specifying Go 1.17 beta1 with actions/setup-go
2021-06-11 01:20:56 +09:00
Hajime Hoshi
aa024bd7e5
Add Go 1.17beta1 to the tests
2021-06-11 01:18:08 +09:00
Hajime Hoshi
b54ad73a2b
Add go:build comments with go1.17beta1 fmt
2021-06-11 01:11:46 +09:00
Hajime Hoshi
f1fc6fe3e8
cmd/ebitenmobile: Clean the temporary directory up after the execution
2021-06-10 01:06:52 +09:00
Hajime Hoshi
cb0f4c4378
cmd/ebitenmobile: Bug fix: os.WriteFile is not defined at Go 1.15
...
Updates #1667
2021-06-09 22:58:22 +09:00
Hajime Hoshi
cf1a91a344
cmd/ebitnmobile: Bug fix: using ebitenmobile with EBITENMOBILE_GOMOBILE failed
...
Closes #1667
2021-06-09 22:50:01 +09:00
Hajime Hoshi
9cf30d9b70
cmd/ebitenmobile: Handle os.Setenv error
...
Updates #1666
2021-06-09 21:33:40 +09:00
Hajime Hoshi
269a79408f
Revert "cmd/ebitenmobile: Remove gomobile init"
...
This reverts commit ecc8514d4b
.
Reason: This doesn't fix the issue. gomobile assumes the existence of $GOPATH/pkg/gomobile, so leave it as it is.
Updates #1666
2021-06-09 12:58:19 +09:00
Hajime Hoshi
ecc8514d4b
cmd/ebitenmobile: Remove gomobile init
...
`gomobile init` installs gobind at $GOPATH/bin, but this is not
needed for ebitenmobile.
Updates #1666
2021-06-09 12:21:09 +09:00
Hajime Hoshi
95c494f47e
audio/internal/readerdriver: Share one goroutine to read the source to the buffers (iOS/macOS)
...
This fix improves the latency of the audio.
Closes #1662
2021-06-09 01:52:21 +09:00
Hajime Hoshi
67e5fae9c0
audio/internal/readerdriver: Refactoring
2021-06-09 00:29:01 +09:00
Hajime Hoshi
f1a20f29b9
Update go.mod
...
Updates #1258
Updates #1415
Updates #1462
2021-06-08 03:17:30 +09:00
Hajime Hoshi
a627c41217
Remove support of Go 1.13 and Go 1.14
...
Updates #1258
Updates #1415
Updates #1462
2021-06-07 21:44:22 +09:00
Hajime Hoshi
4276e2964e
audio/internal/oboe: Use a bigger buffer for safety
...
There were sometimes slight noises on a low-end device like Asus
Zenfone (ASUS_X013DB).
Updates #1662
2021-06-07 03:52:30 +09:00
Hajime Hoshi
61682d6d5c
audio/internal/oboe: Nil slice should be safe to convert to reflect.SliceHeader
2021-06-07 03:33:09 +09:00
Hajime Hoshi
658192f83d
audio/internal/readerdriver: Bug fix: A player must be the EOF state when the buffer is empty
2021-06-07 03:20:48 +09:00
Hajime Hoshi
9f9d53aad3
audio/internal/readerdriver: Bug fix: Possible busy loop when a player reaches EOF
2021-06-07 03:03:22 +09:00
Hajime Hoshi
ea6e2091c5
audio/internal/oboe: Do not call a Go function from onAudioReady
...
Calling a Go function from C has some overhead. onAudioReady is a
very performance-critical function and should not call Go function.
Updates #1662
2021-06-07 00:01:09 +09:00
Hajime Hoshi
78459953cf
audio/internal/readerdriver: Use the common player implementation for Android
...
Updates #1662
2021-06-06 22:53:56 +09:00
Hajime Hoshi
0aeb409eba
audio/internal/readerdriver: Refactoring: Separate the player part (Linux)
...
Updates #1549
2021-06-06 16:27:03 +09:00
Hajime Hoshi
a74c00074e
audio/internal/readerdriver: Refactoring
...
Updates #1549
2021-06-06 16:17:14 +09:00
Hajime Hoshi
048a30b4e7
audio/internal/readerdriver: Refactoring (Linux)
...
Updates #1549
2021-06-06 14:19:23 +09:00
Hajime Hoshi
7b320f2aeb
audio/internal/readerdriver: Adjust buffer size for low-spec machines (Linux)
...
Updates #1549
2021-06-05 23:00:52 +09:00
Hajime Hoshi
85b436b5bb
audio/internal/readerdriver: Reduce locked scopes (Linux)
...
Updates #1549
2021-06-05 22:01:55 +09:00
Hajime Hoshi
044a0c69a7
audio/internal/readerdriver: Avoid busy loop (Linux)
...
Updates #1549
2021-06-05 21:33:43 +09:00
Hajime Hoshi
be7bc5ae4c
audio/internal/readerdriver: Remove goroutines to improve latency (Linux)
...
Updates #1549
2021-06-05 21:09:20 +09:00
Hajime Hoshi
da55ab895a
audio/internal/readerdriver: Use PulseAudio for Linux/UNIX
...
Updates #1549
2021-06-05 19:46:36 +09:00
Hajime Hoshi
3fb469d5a5
audio/internal/readerdriver: Add comments (Windows)
...
Updates #1549
2021-06-04 23:58:35 +09:00
Hajime Hoshi
7f8248cb44
Update Go versions for testing
2021-06-04 12:24:09 +09:00
Hajime Hoshi
08dbb41b35
audio/internal/oboe: Implement self-mixing and re-enable Oboe
...
Updates #1549
Updates #1656
Closes #1660
2021-06-03 00:54:42 +09:00
Hajime Hoshi
633cfe3a0f
audio/internal/readerdriver: Update comments
...
Updates #1660
2021-06-02 00:35:20 +09:00
Hajime Hoshi
0f5aa315d6
audio/internal/oboe: Bug fix: Player must be protected by a mutex
...
As Close can be invoked by the finalizer, Player must be concurrent
safe. Especially the member player must be synced.
Updates #1549
Updates #1656
2021-06-01 03:01:35 +09:00
Hajime Hoshi
040fcd930f
Revert "Revert 2 commits using ColorM cache"
...
This reverts commit dd7a8bc497
.
Reason: DrawTriangles worked fine for the reporter's purpose.
Updates #1655
2021-05-30 15:17:11 +09:00
Hajime Hoshi
b0a8ecefeb
android/internal/oboe: Update Oboe to 1.6.0
2021-05-30 05:07:16 +09:00
Hajime Hoshi
dd7a8bc497
Revert 2 commits using ColorM cache
...
This reverts commit 87c8625692
.
This reverts commit a6dd6196b4
.
Reason: Performance regression (#1655 )
Closes #1655
2021-05-30 03:10:00 +09:00
Hajime Hoshi
cfb6c2c3ad
audio/internal/readerdriver: Disable Android readerdriver
...
Disable Android reade rdriver, which uses OpenSL. AAudio should be
used as OpenSL causes an issue especially on Android 8.
Updates #1656
2021-05-30 01:45:23 +09:00
Hajime Hoshi
b51c692e50
ebiten: Fix a comment
2021-05-29 14:35:28 +09:00
Hajime Hoshi
c46981a719
audio/internal/readerdriver: Refactoring (Windows)
2021-05-29 03:43:05 +09:00
Hajime Hoshi
98bfe5a692
audio/internal/readerdriver: Reimplement Windows driver with multiple waveOutOpen
...
This improves the result of examples/piano significantly.
The issue of mutexes (#1652 ) is also resolved by this new
implementation.
Closes #1652
Closes #1653
2021-05-28 23:54:36 +09:00
Hajime Hoshi
3e113e69e8
audio/internal/readerdriver: Revert 2 commits
...
This reverts commit 43789c72a9
.
This reverts commit 100b42513e
.
Updates #1652
Updates #1653
Reason: This causes noises on examples/piano when a lot of notes played at the same time
2021-05-28 22:19:57 +09:00
Hajime Hoshi
43789c72a9
audio/internal/readerdriver: Bug fix: some of waveOut* functions should be protected by mutex (Windows)
...
Updates #1652
2021-05-28 21:10:39 +09:00
Hajime Hoshi
100b42513e
audio/internal/readerdriver: Reduce the mutex usages (Windows)
...
Closes #1652
2021-05-28 21:00:16 +09:00