Commit Graph

2391 Commits

Author SHA1 Message Date
Eric Warmenhoven 98852bd427 android: enable builtin mbed-tls
fixes #16847
2025-06-03 23:03:37 -04:00
libretroadmin 5cb15e1cd7 Reapply "Allow Start button to quick manage media playlists (#17948)"
This reverts commit f877adb5d9.
2025-05-27 12:40:32 +02:00
libretroadmin f877adb5d9 Revert "Allow Start button to quick manage media playlists (#17948)"
This reverts commit 7d3740d4c0.
2025-05-27 12:39:52 +02:00
sonninnos 7d3740d4c0
Allow Start button to quick manage media playlists (#17948) 2025-05-27 04:25:16 +03:00
sonninnos 0e4cf00d1f
Add option for suggesting cores when a core is loaded (#17920) 2025-05-20 15:54:22 +03:00
Eric Warmenhoven b632a1373e cloud sync: don't always trust the server hash 2025-05-17 21:59:27 -04:00
sonninnos 97bc2da36c Fix menu core unload 2025-05-17 18:53:33 +03:00
pstef 66aa1424f0 Define WIN32_LEAN_AND_MEAN to avoid collision with winsock2 2025-04-12 10:45:08 +00:00
pstef 83e974077f Guarantee space for string characters after strlcpy
to silence a couple of stringop-overflow warnings (3DS).
2025-03-28 11:11:09 +00:00
pstef df6e3dbda8 Silence warnings about sign mismatch 2025-03-28 10:57:53 +00:00
pstef a4bfd84cc7 Silence warnings about sign mismatch 2025-03-25 16:55:39 +00:00
pstef b0109b5829 Reduce stack usage in task_database_cue.c
Move disc_data from stack to heap.
2025-03-23 13:28:28 +00:00
pstef 3fb7d190bf Silence warning about possible truncation
Also simplify this part; the point here is to start the copy later, but
otherwise the buffer size is the same, and it's still a string, so needs
no special handling.
2025-03-20 16:51:58 +00:00
LibretroAdmin e6887be45c
Merge pull request #17710 from warmenhoven/warmenhoven/pr/apple-strlcpy
apple: fix strlcpy where src and dst are the same
2025-03-19 18:04:41 -07:00
pstef 3dca8dbf66 Silence -Walloc-size-larger-than=byte-size
One of the GCC14's optimization heuristic triggered here, suggesting
that the special value of len (size_t) could potentially be lesser than
the file's size (int64_t) but greater than "maximum object size" (set by
byte-size, PTRDIFF_MAX by default).

Use the same type as the file size it's compared to, and adjust the
sentinel value to spell INT64_MAX.
2025-03-19 17:35:15 +00:00
Eric Warmenhoven 86fddd5326 apple: fix strlcpy where src and dst are the same 2025-03-17 15:34:45 -04:00
sonninnos ee8a641275 Core load+unload fixes 2025-03-13 15:09:38 +02:00
Eric Warmenhoven 3943f5b6b0 cloud sync: properly handle ignored directories 2025-03-09 18:24:02 -04:00
Joe Osborn 7a7c208c85
Only read first frame of inputs under new movie formats (#17634) 2025-02-27 20:15:14 -08:00
zoltanvb 9970d45367
Make autoconfig failure notifications optional. (#17636)
Introduce a new setting that controls autoconfiguration messages
when the config fails, either with fallback or without.
2025-02-27 20:15:06 -08:00
Joe Osborn 56014a27d6
Enable pthreads on Emscripten (#17586)
* 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

* fix scaling, remove zip dependency

* Support asset/cheats/etc downloaders for emscripten

- Add http transfer support for emscripten
  - At the task_http level, not the net_http level --- so no netplay
    or webdav.
- Change default paths to be more like other platforms
- Gives us smaller bundles and a faster boot time
- Had to work around a task queue bug on Emscripten
  - I made the smallest possible change to do it, but it may be better
    to fix in rthread.c

* Load an emscripten file_packager package on first run

If no ozone assets are present, load a libretro_minimal package
created using Emscripten's built-in file packager.

* updated readme, removed indexer from wasmfs libretro-web

* Put back zip dependency, load asset bundle into opfs on first run

* fix upload path

* Remove unused function

* easy testing setup for two multithreaded conditions

1. make PROXY_TO_PTHREAD=1 (slower)
2. make PROXY_TO_PTHREAD=0 (bad audio, because doesn't sleep in
openal.c)

* Remove condition on sleep in openal

also make input_driver check existence of drv->axis, drv->button
before calling them.

* Fix resizing under EGL

* Don't force config file path on emscripten

* Add time.h include to netplay, default HAVE_NETPLAYDISCOVERY to 0

* Remove nearly all proxied joypad calls under emscripten

* Fix file uploads under firefox

* Fix safari API uses, but Safari still hangs in OPFS filesystem mount

I think this can be fixed by moving the backend creation off the main
thread.

* Move filesystem init into emscripten C entry point

* Setup filesystems off of main thread

* re-set default player to async

Also improve Safari compatibility under proxy-to-pthread condition

* Safari upload file fixes

* Remove some excess prints

* Fix typo
2025-02-20 00:59:25 +01:00
LibretroAdmin d2d0e7a17d Style nits 2025-02-12 10:35:04 +01:00
LibretroAdmin f6006ae6ca Style nits 2025-02-12 10:17:35 +01:00
LibretroAdmin 366612fb82 Revert "Fix some string appending"
This reverts commit 65b9ea4e76.
2025-02-11 23:48:12 +01:00
LibretroAdmin 65b9ea4e76 Fix some string appending 2025-02-11 23:08:55 +01:00
LibretroAdmin 0f5a990141 Cleanups 2025-02-11 10:28:16 +01:00
LibretroAdmin 6559f4499c Cleanups - less settings_t pointer passing 2025-02-11 09:38:54 +01:00
LibretroAdmin a9a9075f5f (Qt) Cleanups 2025-02-10 23:06:32 +01:00
LibretroAdmin 56d3042efd Change db_crc size back 2025-02-10 17:14:13 +01:00
LibretroAdmin 7a7c4df2a1 Settings cleanups 2025-02-10 17:12:02 +01:00
LibretroAdmin d766a5b71e Cleanups 2025-02-10 16:31:30 +01:00
LibretroAdmin f71181d1c1 * Style nits
* task_database - db_crc allocated variable does not need to be of size PATH_MAX_LENGTH size
2025-02-09 17:49:44 +01:00
LibretroAdmin 91aa8034b1 Style nits/conventions 2025-02-09 16:43:51 +01:00
Eric Warmenhoven 5471a9ebfe
ios: jump back to selected item after closing content (#17534) 2025-02-08 20:32:41 +01:00
Eric Warmenhoven 4b5f782fe4
iOS: Fix crash during scanning (#17489) 2025-01-30 19:57:19 +01:00
LibretroAdmin fce755127c Cleanups/style nits 2025-01-17 20:06:47 +01:00
LibretroAdmin b211adaaca Function argument name standardization 2025-01-17 19:55:32 +01:00
LibretroAdmin dda78a4fc8 Use find_last_slash where possible 2025-01-17 13:26:17 +01:00
LibretroAdmin e2c8e98be0 Buildfixes and warning fixes 2025-01-17 12:03:30 +01:00
LibretroAdmin 31b7812720 Function argument name standardization 2025-01-17 04:16:12 +01:00
LibretroAdmin e982905eb4 content_get_subsystem_friendly_name - change function signature return
to size_t
2025-01-17 00:55:30 +01:00
LibretroAdmin 0b329018ee Less string buffers and less string copies 2025-01-16 23:59:22 +01:00
LibretroAdmin a5c9d9520f * Use fill_pathname_basedir where possible
* Move static variable to only function where it's used
* Change signature of file_path.c function
2025-01-15 22:17:59 +01:00
LibretroAdmin 9da7af46c3 len variable/argument name standardization 2025-01-15 16:04:25 +01:00
LibretroAdmin 047e04ed3e Standardize local len variable naming conventions 2025-01-15 15:00:12 +01:00
zoltanvb 31534438bc
Enable also alternative device names (#17412)
Enable input_device_device_display_name to also have alt_ variants.
Tests updated.
2025-01-14 16:19:05 +01:00
LibretroAdmin 47d888364d Standardize len variables - argument should always be named 'len',
while local len variables should have '_' prefix
2025-01-13 21:53:49 +01:00
LibretroAdmin bd413de842 Log messages are too small to hold entire path 2025-01-13 16:01:16 +01:00
Eric Warmenhoven 95dd1d8449
cloud sync: fix windows path issues (#17375) 2025-01-10 12:21:24 +01:00
LibretroAdmin e40f405b97 Play it on the safe side - go back to some of the code
from before
2025-01-07 02:47:37 +01:00