Commit Graph

97 Commits

Author SHA1 Message Date
Joe Osborn 862bebf687 (Emscripten) Modularize the JavaScript and clean up the web build (#15688)
* Increase emscripten stack size and decrease path size to fix emscripten builds broken since de45fc2

* use modularize flags for better-behaved javascript output

* makefile and loader changes

* use specialHTMLTargets to support modular access to canvas

* bind key events to canvas, not document

This way focus means focus and we can have multiple RA instances in
one page.

* Work around an emscripten bug in strict mode

* (Emscripten) Use console.error() for error messages

* increase asyncify stack size

* Fix `-lm` flag-related compile warnings in emscripten

---------

Co-authored-by: Rob Loach <robloach@gmail.com>
2023-11-02 13:25:50 -07:00
nfore 9ca5c5e623 Revive/rewrite Keyboard Overlay and OSK Toggle
Add keyboard overlay preset, keyboard submenu, and osk_toggle hotkey. Use overlay caching for osk_toggle.

For now, keyboard menu has only preset path, auto-scale toggle, and opacity.

Related fixes:
- input_keyboard_event: Don't check hotkey binds when device is RETRO_DEVICE_POINTER
- Add input_keymaps_translate_rk_to_ascii() for correct character input to input_keyboard_event
- input_overlay_poll: Delay clearing INPUT_OVERLAY_BLOCKED flag until there is no overlay input (Avoids stray input after osk_toggle)
- Send keyboard events for modifiers before other keys (for correct modifier+key input if hitboxes overlap)
2023-07-09 04:42:49 +02:00
libretroadmin 51d238875e Get rid of obsolete HAVE_VIDEO_LAYOUT - obsolete spec, was only
ever implemented for OpenGL2 driver, lots of code debt, best to
instead just keep improving the overlay system instead which is
already available for most video drivers
2023-02-23 21:03:41 +01:00
libretroadmin 8f1af4a2e6 (Frontend) Style nits/cleanups 2022-12-15 14:34:22 +01:00
LibretroAdmin d30f16dc79 Remove cursor directory/cursor manager list - Views obsoleted
this
2022-10-25 15:21:47 +02:00
LibretroAdmin b2634ea588 * Create fill_pathname_join_special - and specify fill_pathname_join
as deprecated.
* Use fill_pathname_join_special in the vast majority of cases where
we can ensure out_path is a new empty string
* Get rid of some extension concatenation with strlcat where encountered
* Some general cleanups with NULL termination of strings that get immediately
passed to strlcpy/strlcpy-adjacent functions
2022-08-04 14:19:38 +02:00
Nikos Chantziaras 430baf7c21 Add Linux GameMode support (#13339)
This can fix a lot of performance issues, like audio crackling and frame
time spikes. This requires the GameMode package to be installed. See:

https://github.com/FeralInteractive/gamemode

This commit adds a "Game Mode" bool option to the "Power
Management" and "Latency" settings sections, and it can be toggled
on/off without restarting RA.

The actual toggling of game mode happens in a new frontend platform
interface function. Perhaps this will become useful for other platforms
that provide some equivalent of Linux GameMode.

Since the GameMode ABI is fixed, and the API comes as a single,
header-only file with no actual deps, we simply bundle the header
(deps/feralgamemode/gamemode_client.h.) That way, all Linux builds will
have support for GameMode regardless of whether the GameMode development
package is installed or not.
2021-12-14 14:07:42 +01:00
twinaphex 406c8bee7b Silenc some warnings 2021-08-09 21:24:03 +02:00
twinaphex 4c51e31b9d (Platform) Cleanups + add missing function pointer bind for Darwin 2021-01-16 16:14:03 +01:00
jdgleaver be1c7b8e4c (.gitlab-ci.yml) Add Emscripten target 2021-01-06 14:42:06 +00:00
David Guillen Fandos a442696b71 First attempt at adding proper brightness
Supports Switch and OGA
2020-11-26 19:22:05 +01:00
David Guillen Fandos f5693f15e7 Make get_lakka_version available in all builds
This simplifies a bit the code, for some new lakka patches to come.
2020-11-23 18:44:24 +01:00
twinaphex 3ac75c043e Jdgleaver improvements 2020-11-20 03:55:55 +01:00
twinaphex 9ee1e33e09 Only attempt to call dir_check_defaults once per runtime session
when calling the frontend environment get callback - we want to
look at the 'default' directories, and then if they don't yet exist,
auto-create them so we can store files in them.
2020-11-19 07:10:22 +01:00
twinaphex 4ec216dc0b Get rid of file_path_str 2020-08-22 01:06:10 +02:00
twinaphex 855351de9e Reorder g_defaults, alignment 2020-08-16 04:38:02 +02:00
twinaphex 6b466c6013 Cleanups 2020-07-09 07:46:40 +02:00
twinaphex e20151a048 Get rid of video_info struct for swap_buffers too 2020-03-06 22:29:51 +01:00
twinaphex 2d274f1369 Move accessibility features to platform frontend driver 2020-02-14 00:17:55 +01:00
twinaphex 96018412c0 Cleanups 2020-02-01 03:27:58 +01:00
Toad King 776568a429 fix images not loading in menu in emscripten
add changes to work with latest emscripten SDK
2020-01-02 21:29:25 -06:00
twinaphex ca3a80091a Cleanup runloop_iterate
NOTE/CHECK: Hopefully wiiu is unaffected by the change
in sleeping
2019-08-11 19:39:48 +02:00
Toad King 618da66073 emscripten: add hack to prevent ERRNO_CODES from being optimized away 2019-08-07 22:07:09 -05:00
twinaphex ee3208ac39 Integrate video_driver.c into retroarch.c 2019-06-17 15:10:22 +02:00
Huw Pascoe 685aabb094 video_layout config 2019-05-11 09:58:46 +01:00