刘皓
c9e7c4d02d
Stub out the rest of the input bindings in libretro builds
2025-05-01 22:49:18 -04:00
刘皓
df559241a2
Complete almost all of the bindings in libretro builds
...
The only things left are the bindings for the input extensions and
possibly adding in `SANDBOX_YIELD` to the `Graphics.play_movie` binding
later.
2025-05-01 14:32:59 -04:00
刘皓
82b2ad0ef1
Add serializable-binding.h in libretro builds
2025-05-01 13:58:54 -04:00
刘皓
a40f6e7659
Fix some compiler warnings in libretro builds
2025-05-01 11:58:43 -04:00
刘皓
bdcbfd26f1
Add more helper functions for bindings in libretro builds
2025-05-01 11:18:02 -04:00
刘皓
41fc9bf7c7
Pin wasm2c version in libretro builds
...
To prevent incompatibilities between wasm2c and the custom wasm-rt
implementation.
2025-05-01 00:53:26 -04:00
刘皓
482f21bc2e
Fix Darwin compilation error in binding-sandbox/graphics-binding.cpp
2025-04-30 23:39:51 -04:00
刘皓
5b94ce4e80
Refactor binding-sandbox header files into .cpp files
2025-04-30 22:31:13 -04:00
刘皓
09bcb1532c
Refactor out the SANDBOX_COROUTINE()
macro
...
Removing this macro allows the correct line numbers to show up in GDB
stack traces.
2025-04-30 19:00:48 -04:00
刘皓
2de7a050db
Use property binding helper macros in libretro builds
2025-04-30 15:47:02 -04:00
刘皓
eb0b011734
Add mouse bindings in libretro builds
2025-04-30 12:26:18 -04:00
刘皓
a001495cc5
Fix infinite loop in meWatchThread()
in standalone builds
2025-04-29 16:09:19 -04:00
刘皓
2373a22a70
Complete the graphics bindings in libretro builds
2025-04-29 14:51:19 -04:00
刘皓
a3412bbe41
Fix Graphics.transition(0)
being ignored in libretro builds
2025-04-29 14:13:41 -04:00
刘皓
3b017e7bb4
Fix AudioMutex
constructor in standalone builds
2025-04-29 13:53:56 -04:00
刘皓
414d78a327
Remove workarounds for RetroArch 1.20.0
...
The next stable version of RetroArch has been released, so we don't need
to maintain workarounds for bugs in RetroArch 1.20.0 anymore.
2025-04-29 00:12:04 -04:00
刘皓
8182f3591c
Fix typo in wrap_property
in libretro binding utils
2025-04-29 00:07:54 -04:00
刘皓
c51e0d2701
Complete the bitmap bindings in libretro builds
2025-04-28 16:15:11 -04:00
刘皓
c0b0816b8a
Add wrap_property
helper function for bindings in libretro builds
2025-04-28 13:39:06 -04:00
刘皓
794ba87f21
Fix more race conditions when using libretro threaded audio driver
2025-04-28 11:50:17 -04:00
刘皓
ffe5e6750c
Fix audio streams being used after free in libretro builds with threaded audio
...
I forgot to add in equivalents to the calls to `SDL_WaitThread()` when I
added support for the libretro threaded audio driver, which led to race
conditions where the audio thread could use audio streams after they
were freed by the main thread.
2025-04-27 23:18:01 -04:00
刘皓
fbfb14d7ad
Implement more of the bitmap bindings for libretro builds
2025-04-27 22:18:06 -04:00
刘皓
1c6debd030
Complete the audio bindings in libretro builds
2025-04-27 18:51:30 -04:00
刘皓
2cffa85a9a
Revert "Pass HAVE_OPENGLES3=1
in libretro Emscripten build"
...
This reverts commit 8056cb3774
.
Not required anymore because
https://github.com/libretro/RetroArch/pull/17833 fixed the problem where
using WebGL 1 causes banding artifacts.
2025-04-27 10:21:23 -04:00
刘皓
0b9baa1007
Add mutex and condition variable polyfill for libretro 3DS builds
2025-04-27 00:49:47 -04:00
刘皓
a73dec9cad
Manually disable threaded audio support in libretro Wii U build
2025-04-26 22:01:07 -04:00
刘皓
2a1b4ca46b
Merge branch 'misc-fixes' into libretro
2025-04-26 18:34:49 -04:00
刘皓
380fcc0ed2
Complete the bindings for Color
, Tone
and Rect
in libretro builds
2025-04-26 18:33:53 -04:00
刘皓
8d1bcd124e
Fix possible buffer overflow in stringify bindings for Color
and Tone
2025-04-26 18:14:23 -04:00
刘皓
0d035702a1
Don't use atomics in libretro builds without multithreading support
2025-04-26 18:00:06 -04:00
刘皓
8056cb3774
Pass HAVE_OPENGLES3=1
in libretro Emscripten build
2025-04-26 13:47:01 -04:00
刘皓
57a282d359
Don't ignore return value of libretro audio sample callback
2025-04-26 10:41:32 -04:00
刘皓
0d07aff3e2
Remove exceptions from the sandbox implementation in libretro builds
2025-04-25 13:31:32 -04:00
刘皓
d0b211e239
Fix audio fading in libretro builds
2025-04-25 12:16:51 -04:00
刘皓
1be7eef3c7
Fix race condition when using libretro threaded audio driver
2025-04-25 11:30:23 -04:00
刘皓
003602eff8
Only poll input in libretro builds when Input.update
is called
2025-04-25 11:01:12 -04:00
刘皓
2b3a97e83c
Fix frame duping bugs in libretro builds
...
* Fixed a bug where frames are still duped when the frontend is
fast-forwarding
* Fixed a bug where manual frame duping (without
`RETRO_ENVIRONMENT_GET_CAN_DUPE`) causes screen flickering during a
`Graphics.transition` call
2025-04-25 10:45:11 -04:00
刘皓
5c14f2352e
Implement frame duping properly in libretro builds
2025-04-24 15:36:26 -04:00
刘皓
a12e3caf77
Always run at display rate in libretro builds
...
Apparently we're not supposed to use
`RETRO_ENVIRONMENT_SET_SYSTEM_AV_INFO` to change the FPS. The core
should be running at the display refresh rate and resampling the game's
video output.
2025-04-24 15:08:42 -04:00
刘皓
286ae0fe4d
Fix resource starvation in deinit_sandbox()
when using threaded audio
2025-04-24 11:32:04 -04:00
刘皓
784ec38b3d
Throttle the frame rate in libretro builds with threaded audio
...
When not using the threaded audio driver, the frontend is supposed to
block until enough audio samples have been rendered for one frame, so
the frontend throttles the frame rate automatically if the core's frame
rate is slower than the display frame rate.
However, when using the threaded audio driver, there's no more
throttling, so we have to do it ourselves.
2025-04-23 16:58:03 -04:00
刘皓
1474a2a03f
Switch back to Emscripten 4.0.6 in the autobuild
2025-04-23 14:29:13 -04:00
刘皓
21596fb9b0
Disable LTO for libretro Emscripten build
2025-04-23 12:54:21 -04:00
刘皓
fae9df6324
Add a mirror URL for libiconv
2025-04-23 10:31:14 -04:00
刘皓
6e0ec968bc
Switch back to Emscripten 3.1.46 in the autobuild
2025-04-23 01:15:06 -04:00
刘皓
e5a4309402
Try using the latest version of Emscripten in the autobuild
2025-04-22 21:47:38 -04:00
刘皓
a3e53a944b
Disable AudioWorklet driver for now
2025-04-22 20:22:47 -04:00
刘皓
98cc4bb9a0
Set HAVE_AL=0
in libretro Emscripten autobuild
2025-04-22 19:10:42 -04:00
刘皓
fafad03874
Temporarily use nightly build of RetroArch in libretro Emscripten autobuild
2025-04-22 16:51:38 -04:00
刘皓
4b78778a38
Upload mkxp-z_libretro.worker.js in the threaded libretro Emscripten autobuild
2025-04-22 14:33:56 -04:00