64520 Commits

Author SHA1 Message Date
David Demelier
f73df57a1a
Fix non-integer cast to pthread_t (#17512) 2025-02-03 15:21:07 +01:00
Viačasłaŭ
359258a1b5
Add missing drivers to configuration (#17509)
`camera_pipewire` and `record_wav`
2025-02-03 09:04:23 +01:00
Viačasłaŭ
65014a46b4
Add PipeWire camera driver (#17507) 2025-02-03 04:30:13 +01:00
Viačasłaŭ
45586e83da
(PipeWire) Pass the new_rate to the audio driver (#17508)
Set the supported sample rate after initialization.
Also a few minor fixes.
2025-02-03 04:30:02 +01:00
github-actions
9b3b75aa93 Fetch translations from Crowdin 2025-02-03 00:14:45 +00:00
neil4
05f75b83c1
Overlays: Improve Analog Recentering (#17505)
- Use closest point on zone perimeter if first touch is outside zone
2025-02-02 01:27:18 +01:00
Eric Warmenhoven
089a51f674
apple: enable emulated mailbox (#17506) 2025-02-02 01:22:18 +01:00
Eric Warmenhoven
212ae55cfe
glui: extremely minor refactor. (#17501) 2025-02-01 04:57:46 +01:00
Rob Loach
7ba205ba34 common: Move audio_mixer_sound user_data to above the types union 2025-01-31 16:29:18 -05:00
Rob Loach
355b277c11
common: Add a user_data pointer to audio_mixer_sound (#17488) 2025-01-31 03:41:07 +01:00
LibretroAdmin
2870a0a8ad
Revert "Workerized emscripten retroarch (WIP) (#17484)" (#17492)
This reverts commit cacd5a9a234f3c9abc8d352f6fea19117e2e1a00.
2025-01-30 21:35:58 +01:00
Joe Osborn
cacd5a9a23
Workerized emscripten retroarch (WIP) (#17484)
* workerized RA

* Workerized (non-async) web player, using OPFS

This patch eliminates the need for asyncify and uses modern filesystem
APIs instead of the deprecated, unmaintained BrowserFS.

This is a WIP patch because it won't fully work until these two
Emscripten PRs land and are released:

https://github.com/emscripten-core/emscripten/pull/23518
https://github.com/emscripten-core/emscripten/pull/23021

The former fixes an offscreen canvas context recreation bug, and the
latter adds an equivalent to BrowserFS's XHR filesystem (but without
the hazardous running-XHR-on-the-main-thread problem).

The biggest issue is that local storage of users who were using the
old version of the webplayer will be gone when they switch to the new
webplayer.  I don't have a good story for converting the old BrowserFS
IDBFS contents into the new OPFS filesystem (the move is worth doing
because OPFS supports seeking and reading only bits of a file, and
because BrowserFS is dead).

I've kept around the old libretro webplayer under
pkg/emscripten/libretro-classic, and with these make flags you can
build a non-workerized RA that uses asyncify to sleep as before:

make -f Makefile.emscripten libretro=$CORE HAVE_WORKER=0 HAVE_WASMFS=0 PTHREAD=0 HAVE_AL=1

I also moved the default directory for core content on emscripten to
not be a subdirectory of the local filesystem mount, because it's
confusing to have a subdirectory that's lazily fetched and not
mirrored to the local storage.  I think it won't impact existing users
of the classic web player because they already have a retroarch.cfg in
place.

* Get fetchfs working without manifest support

* makefile fixes
2025-01-30 19:58:18 +01:00
Eric Warmenhoven
4b5f782fe4
iOS: Fix crash during scanning (#17489) 2025-01-30 19:57:19 +01:00
Eric Warmenhoven
fd8ba559d7
net_http: fix memleak (#17487) 2025-01-30 04:06:59 +01:00
github-actions
97803f5627 Fetch translations from Crowdin 2025-01-30 00:14:14 +00:00
BinBashBanana
ed1810de86
Emscripten improvements (#17422) 2025-01-29 05:29:16 +01:00
github-actions
104561e7aa Fetch translations from Crowdin 2025-01-29 00:14:29 +00:00
Eric Warmenhoven
12f66bebb7
net_http: expire dns lookup failures more quickly (#17481) 2025-01-28 23:27:51 +01:00
Eric Warmenhoven
d00ee5a70b
net_http: handle redirects (#17482) 2025-01-28 23:27:28 +01:00
Eric Warmenhoven
b982ff64c2
cheevos: fix crash entering achievements in quick menu when no client (#17472) 2025-01-26 04:10:25 +01:00
github-actions
c11d9bee2e Fetch translations from Crowdin 2025-01-25 00:13:19 +00:00
zoltanvb
8814eb3eb6
Changes up to 2025-01-24 (#17469) 2025-01-24 23:49:41 +01:00
LibretroAdmin
120465d676 Fix runahead.c 2025-01-24 19:37:28 +01:00
Eric Warmenhoven
04cdf0aa4d
apple: acceleration should include gravity (#17467) 2025-01-24 18:05:32 +01:00
github-actions
81e443c4cf Fetch translations from Crowdin 2025-01-24 00:14:32 +00:00
Eric Warmenhoven
72df261ed0
Fix opening file inside archive with core detection (#17461) 2025-01-23 18:56:11 +01:00
Eric Warmenhoven
d2eb49ccbc
net_http refactor (#17460)
* net_http: refactor net_http_new

The goal is to move calls to getaddrinfo() and connect() into
net_http_update(). This will make it possible for them to be replaced
with non-blocking alternatives later.

The net_http calling pattern right now allows callers to create the
http_connection_t, call net_http_new() which creates the http_t from
the http_connection_t, free the http_connection_t, and then start
calling net_http_update(). In order to preserve that, the http_t needs
to copy the values out of the http_connection_t on create. This also
preserves the http_connection_t values instead of freeing them, so the
connection would be able to be used later.

* net_http: implement dns cache

* net_http: separate out address resolution, connect, and request send

* net_http: perform getaddrinfo on separate thread

* net_http: implement basic connection pool

* net_http: refactor receive calls to read faster, do fewer reallocs

* net_http: build fix for platforms without SSL

* net_http: build fix for non-griffin builds

* net_http: build fix for non-threaded platforms
2025-01-23 01:29:47 +01:00
github-actions
14a28b81af Fetch translations from Crowdin 2025-01-23 00:14:36 +00:00
Mathieu Poliquin
aa49c05524
Fix game_ai_lib.so loading path in game_ai.c (#17456) 2025-01-22 20:43:11 +01:00
Eric Warmenhoven
0903eead06
tvos: fix fetching refresh rate on tvos 13/14 (#17455) 2025-01-22 20:43:02 +01:00
MrHuu
c276577b52
(3DS) Add unique ID's (#17459)
- Anarch
- Ardens
- Dice
- DoubleCherryGB
- Fbneocps12
- Fbneoneogeo
- Numero
- Tamalibretro
- Uw8
2025-01-22 20:42:23 +01:00
github-actions
5c53570446 Fetch translations from Crowdin 2025-01-22 00:14:25 +00:00
Eric Warmenhoven
f1e3b83d26
macos: reset keyboard state when focus is lost (#17453) 2025-01-21 22:31:24 +01:00
Mathieu Poliquin
66e23fca79
New feature: Override player input with machine learning models (#17407)
* Add dummy game ai subsystem

* First working prototype of a machine learning model that can override player input

* Update README.md

* Update README.md

* Fix loading path on Windows

* Change ai override to player 2

* Added quick menu show game ai option

* Implemented Quick Menu entry for Game AI options

* Redirect debug logs to retroarch log system + properly support player override

* Added support to use framebuffer as input to the AI

* Added pixel format parameter to API

* Fix game name

* code clean-up of game_ai.cpp

* Update README.md - Windows Build

* Update README.md

* Update README.md

* Update README.md

* Update config.params.sh

turn off GAME_AI feature by default

* Fix compile error in menu_displaylist.c

* Add missing #define in menu_cbs_title.c

* Added new game_ai entry in griffin_cpp

* Remove GAME_AI entry in  msg_hash_us.c

* Fix compile error in menu_displaylist.h

* Removed GAME AI references from README.md

* Fixes coding style + add GameAI lib API header

* Convert comment to legacy + remove unused code

* Additional coding style fixes to game_ai.cpp

* Fix identation issues in game_ai.cpp

* Removed some debug code in game_ai.cpp

* Add game_ai_lib in deps

* Replace assert with retro_assert

* Update Makefile.common

* Converting game_ai from cpp to c. First step.

* Convert game_ai from CPP to C. STEP 2: add C function calls

* Convert game_ai from CPP to C. Final Step

* Added shutdown function for game ai lib

* Update game_ai_lib README

* Fix crash when loading/unloading multiple games
2025-01-21 13:05:43 +01:00
sonninnos
3797d4deb6
Fix latency header in video stats (#17451) 2025-01-21 04:31:13 +01:00
LibretroAdmin
a49196ee30 (menu_cbs_get_value.c) Put protective guards around strlcpy copies
into s2
2025-01-21 03:57:08 +01:00
LibretroAdmin
e9afd53351 Fix crash that can happen in menu_action_setting_disp_set_label_entry 2025-01-21 03:50:46 +01:00
Viačasłaŭ
f84f829957
(PipeWire) reset playback buffer on stopping (#17449)
* Fix compile warnings
2025-01-21 02:40:15 +01:00
sonninnos
1c724f5355
RGUI: 'Use This Directory' cleanup (#17450) 2025-01-21 02:02:55 +01:00
github-actions
54debca4a3 Fetch translations from Crowdin 2025-01-21 00:14:16 +00:00
LibretroAdmin
b443d9974a Cleanup 2025-01-21 00:17:18 +01:00
LibretroAdmin
1ecd83b0ab Change returntype of random to size_t 2025-01-20 23:59:09 +01:00
Eric Warmenhoven
f55d028ae5
cloud sync: workaround bug of requests being duplicated (#17448) 2025-01-20 22:39:23 +01:00
Daniel Worley
565e1c7d2d
UWP: Fix slang shader compilation (#17447) 2025-01-20 22:10:57 +01:00
Eric Warmenhoven
ef4512dd02
macOS: ensure bundled assets get extracted properly (#17444) 2025-01-20 21:38:29 +01:00
Eric Warmenhoven
6fda41900d
apple: include git hash in TestFlight message (#17445) 2025-01-20 21:38:20 +01:00
Viačasłaŭ
d3a879638d
Fix PipeWire freezing (#17446)
* Fix freezing after restarting pipewire service
* Rewrite the logic for starting/stopping stream
* Reduce boilerplate code
2025-01-20 21:38:11 +01:00
sonninnos
66921e8549
RGUI: Entry value cleanup (#17443) 2025-01-20 20:38:40 +01:00
sonninnos
391ba55b81
Add playlist random selector (#17441)
* Add playlist random selector

* Buildfix attempt

* ORBIS buildfix attempt
2025-01-20 18:25:41 +01:00
Apteryks
52320dfaa8
* platform: Honor the LIBRETRO_CHEATS_DIRECTORY environment variable. (#17440)
* frontend/drivers/platform_unix.c
(libretro_cheats_directory): New variable.
(frontend_unix_get_env): Set DEFAULT_DIR_CHEATS to the value of
the LIBRETRO_CHEATS_DIRECTORY environment variable, if available.
* frontend/drivers/platform_win32.c: Likewise.
* configuration.c (config_load_file)
<libretro_cheats_directory>: New variable. Use the values of
the LIBRETRO_CHEATS_DIRECTORY environment variables instead of their
corresponding configured values, when set.
* docs/retroarch.6: Document it.
* retroarch.c (retroarch_print_help): Extend help text.
2025-01-20 15:08:45 +01:00