96 Commits

Author SHA1 Message Date
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
Brad Parker
aa588dec35 set default language on first startup according to OS setting (initial *nix implementation) 2019-04-15 23:14:49 -04:00
jdgleaver
2c65068be0 More 'Log to File' Additions:
- Add optional timestamped log files

- Handle errors if log file cannot be opened

- Android: flush log file immediately

- 3DS: log to file tested and fully working

- Default log paths added for all platforms
2019-03-25 17:22:59 +00:00
Brad Parker
e22148fed4 show cpu model name in log, implemented for x86/64 on windows/linux so far 2019-02-23 16:50:42 -05:00
twinaphex
85708b7ef8 (Emscripten) Buildfixes 2019-02-03 17:15:18 +01:00
Brad Parker
aa083d1e4c android: add configurable setting for Sustained Performance Mode 2018-06-19 02:50:33 -04:00
Brad Parker
f087b150c9 Add quick menu option to watch shader files for changes and recompile automatically (Linux only for now) 2018-01-25 15:50:57 -05:00
Toad King
55334aeffd fix black frame insertion in emscripten 2018-01-20 13:01:48 -06:00
Toad King
28b2bf537f fix warning 2018-01-15 04:17:01 -06:00
Toad King
0256156a6b fix rwebaudio time drift
fixes audio getting stuck in an always fast state
2018-01-15 03:08:30 -06:00
Toad King
19facdb066 reset drivers shortly after toggling fullscreen mode
fixes black screen after going fullscreen in game
2018-01-15 02:12:53 -06:00
Toad King
d23faff8d6 set the main loop first before calling rarch_main 2018-01-15 00:43:20 -06:00
Toad King
2738c79aa0 switch to RGUI as default menu for emscripten 2018-01-15 00:07:12 -06:00
Toad King
b75f4b4f67 implement setting vsync and swapinterval
vsync is not "true" vsync (that's always on in browsers) but changes the main loop timer from immediate to window.requestAnimationFrame
2018-01-14 23:29:20 -06:00
Toad King
2d27a8c3e2 fix exiting not terminating emscripten runtime 2018-01-14 02:53:34 -06:00
Toad King
5ef595be1a fix fullscreen 2018-01-14 02:33:22 -06:00
twinaphex
b11620e1eb Add retro_timers.h/retro_math.h 2017-06-28 04:41:38 +02:00
twinaphex
6af5bd01bf Merge retro_stat and file_path 2017-06-16 15:00:11 +02:00
twinaphex
1421d1da30 Use path_mkdir 2017-05-23 20:45:14 +02:00
twinaphex
ccba9635b6 Update the way default directories are handled 2017-05-23 19:43:58 +02:00
twinaphex
80d9d1f143 Rewrite task_queue 2017-05-14 20:43:48 +02:00
twinaphex
42ebe7a7ad Merge runloop.c and retroarch.c 2017-05-11 09:11:46 +02:00
twinaphex
cc095e56fc Start refactoring bool variables 2017-04-28 00:53:20 +02:00
twinaphex
96c8ca5a09 Header update #1 2017-01-22 13:40:32 +01:00
twinaphex
80798ab924 Remove hacky 'OSK Keyboard' overlay 2016-11-27 02:46:09 +01:00
twinaphex
d08668b331 Rollback 4b807b482 - was unnecessary in hindsight anyway 2016-10-22 16:39:55 +02:00
twinaphex
4b807b482f Create runloop_poll 2016-10-20 02:17:17 +02:00