Commit Graph

3457 Commits

Author SHA1 Message Date
David Guillen Fandos c378665af5 Add brightness restore hook
This is out of the unix frontend driver on purpose, since settings do
not seem to be available at init() time.
2021-05-15 21:20:37 +02:00
jdgleaver 0a24f5f38a Fix 'Auto-Shader Delay' functionality 2021-05-14 13:47:46 +01:00
jdgleaver 484c4ad51e Add API extension for cores to override frontend fast-forward state 2021-05-13 13:16:37 +01:00
jdgleaver 50d27fada9 (Static Platforms) Ensure 'Always Reload Core on Run Content' setting is applied when loading content via the file browser 2021-05-12 10:59:07 +01:00
Autechre 89391ccf9a
Merge pull request #12287 from LazyFunker/master
Some fixes for UWP/XBox
2021-05-12 09:17:53 +02:00
David Guillen Fandos 9280340fe0 CPU governor/frequency part 2
This adds managed policies and settings to store them and reload them at
startup. Only for Lakka builds!
2021-05-12 02:16:25 +02:00
Stenzek 92e795aa28 (main) Remove null check from video_driver_set_cached_frame_ptr
The only call sites here use NULL as a parameter, and it makes
sense to clear it, since the intent is to remove a potentially
dangling pointer.
2021-05-11 09:49:39 -07:00
jdgleaver c37f540b72 Core Info Cache Improvements
- Core info cache can now be enabled/disabled on all platforms via a new `Settings > Core > Cache Core Info Files` option
- Core info cache file has been renamed from `.cache` to `core_info.cache` (i.e. it is no longer a 'hidden' file on Unix platforms, so can be deleted easily)
- The core info cache file is now compressed (rzip) to further reduce disk IO
- The presence of a `core_info.refresh` file in the core info directory will force a one-time refresh of the info cache. This file is generated automatically when toggling on the `Cache Core Info Files` option, and we will also add it to core info file packaging such that updating info files (either manually or via the online updater) will force a refresh
- The core info cache no longer contains 'core is locked' and 'firmware missing' data fields; these are 'dynamic' properties that must be determined at runtime
- The 'core is locked' status is now determined on core info intialisation by parsing the core directory listing, rather than by performing indivdual 'lock file exists' checks. This minimises file IO, and greatly improves performance on devices with slow storage
- While parsing the core info cache file, we now avoid unnecessary `strdup()`s when adding entries to the resultant cache list
- Memory leaks (potential and real) have been fixed, and safety checks added
- Build errors have been fixed
2021-05-06 15:00:55 +01:00
Jamiras 77d04af845 enforce minimum fastforward_ratio of 1.0 2021-04-28 22:43:48 -06:00
Nathan Strong d7075296e3 Move runloop data to static struct
== DETAILS
As part of a larger project to reduce/eliminate global state, this commit does the following:

1. move all the `runloop_` members of the `rarch_st` struct to a separate structure
2. create a static instance of that struct in retroarch.c
3. switch all references of `p_rarch->runloop_*` to `runloop_state.*`
4. remove the extraneous `runloop_` prefix on the new struct's members
2021-04-26 09:21:01 -07:00
jdgleaver f4511f6fa4 (core_info) Performance optimisations + code clean-ups/refactors 2021-04-26 14:30:31 +01:00
twinaphex d2af1e905c Fix runahead 2021-04-23 13:18:29 +02:00
Autechre d24f808d79
Merge pull request #12294 from ToKe79/lakka_timezone
Lakka: add menu for time zone setting
2021-04-22 18:38:19 +02:00
jdgleaver 80753ac741 Add search filter support to cheats and overlays file browser menus 2021-04-22 16:56:57 +01:00
Tomáš Kelemen (vudiq) 90529c62b2 Lakka: add menu for time zone setting
This adds new entry under Settings -> Services (where all Lakka related
services are currently available, such as switches for services like
SSH, Samba, etc.). By adding this the users do not have to use the
command line / access the file system directly to change their local
time zone to adjust the date/time displayed in RetroArch.
2021-04-21 18:12:42 +02:00
twinaphex ae21979b7c Remove unused variable 2021-04-21 15:58:51 +02:00
twinaphex ba791b7de8 Add better fix that targets all statically linked platforms instead of 2021-04-21 15:58:18 +02:00
twinaphex 220bc434be Get rid of strcpy_alloc 2021-04-21 02:25:51 +02:00
twinaphex e88fad00a5 copy_core_to_temp_file - get rid of a bunch of strcat_alloc calls,
instead just use fill_pathname_join once and have retroarch_tmp_path
be a fixed stack array variable
2021-04-20 21:29:02 +02:00
twinaphex 769fb7cd02 Cleanup 2021-04-20 19:35:59 +02:00
jdgleaver b193fd0ba9 Enhanced 'Load Content' file browser search functionality 2021-04-20 15:49:22 +01:00
LazyFunker c5e5cf28af Force resolution on UWP 2021-04-20 11:47:32 +02:00
Autechre a56fcfb24a
Revert "Screen Resolution option fixes" 2021-04-17 19:33:23 +02:00
twinaphex 46a37b9bd9 Silence some warnings 2021-04-16 17:55:19 +02:00
twinaphex 9812f368e7 Move more of these static variables out of retroarch_data.h 2021-04-15 19:51:40 +02:00
twinaphex 0f4dbcfc53 move arrays over to only function that uses them 2021-04-15 19:51:40 +02:00
twinaphex 67c06d17bb command_event_runtime_log_deinit - put verbosity_is_enabled check around
this
2021-04-15 08:08:08 +02:00
twinaphex 9f902c8bd4 input_joypad_analog_button - only call fabs when input value is not 0 2021-04-15 07:27:43 +02:00
twinaphex 52454591aa Small cleanup to input_joypad_analog_button 2021-04-15 07:22:59 +02:00
twinaphex cfe9d60f51 Get rid of button_is_pressed 2021-04-15 06:55:35 +02:00
twinaphex 4ec8b82388 Cleanups 2021-04-14 03:46:50 +02:00
twinaphex 65c01b35ec Go back to Discord RPC I/O Thread codepath for now - the non-I/O
thread codepath seems to be unreliable for now
2021-04-13 16:44:46 +02:00
twinaphex 2f0f724813 Use more path_basename_nocompression where we don't have to deal with
archive files
2021-04-11 18:46:50 +02:00
twinaphex 637cff628f * Simplify RARCH_CTL_IS_CORE_LOADED
* Create specialized function path_basename_nocompression
2021-04-11 17:27:31 +02:00
twinaphex 3841fecc59 Cleanups 2021-04-11 17:01:13 +02:00
twinaphex bc08e325ce Travis buildfix 2021-04-11 02:22:35 +02:00
twinaphex 59449600ad Cleanup retroarch_menu_running_finished 2021-04-10 21:04:00 +02:00
twinaphex c392a475ee Cleanups 2021-04-10 20:51:19 +02:00
twinaphex d024ff553f Cleanups 2021-04-10 20:47:04 +02:00
twinaphex ca5ce839ce Small cleanups to button input handling code - several parameters
were no longer used
2021-04-10 19:06:56 +02:00
twinaphex 760fc6b3f7 Simplify button_is_pressed 2021-04-10 18:44:10 +02:00
twinaphex 372f939cc9 Simplify input_keys_pressed 2021-04-10 18:25:50 +02:00
twinaphex 5df321fcaa Cleanups 2021-04-10 18:19:20 +02:00
twinaphex 8b197e49bb accessibility_speak_priority - no longer dependent on settings pointer 2021-04-10 14:59:34 +02:00
twinaphex 200983f938 is_narrator_running -don't pass entire settings pointer 2021-04-10 14:24:41 +02:00
twinaphex dd7fe2e7e0 Cleanups 2021-04-10 14:19:52 +02:00
twinaphex 1e94070dca Simplify driver_adjust_system_rates 2021-04-10 13:39:47 +02:00
twinaphex 40ab6f839a Some cleanups to driver_adjust_system_rates 2021-04-10 13:32:27 +02:00
twinaphex 43cb646870 Turn video_driver_monitor_adjust_system_rates into pure function 2021-04-10 13:22:12 +02:00
twinaphex d1d9f96ab3 Turn audio_driver_monitor_adjust_system_rates into pure function 2021-04-10 13:11:01 +02:00
twinaphex d910f520d9 Don't pass entire settings pointer if we just need a few settings variables
to read
2021-04-10 13:03:53 +02:00
twinaphex 5ca666acee Cleanups, don't try to pass settings pointer to functions unless we have to 2021-04-10 03:01:25 +02:00
twinaphex 338c2eb2f0 Settings cleanups 2021-04-10 01:51:28 +02:00
twinaphex deccc4d8c6 Some refactors 2021-04-10 00:54:40 +02:00
twinaphex 204eaf0e76 Don't grab settings pointer inside video_driver_frame 2021-04-08 20:01:59 +02:00
twinaphex 421dbb19c2 Don't pass settings pointer if we just need a couple of variables
that we won't mutate
2021-04-08 19:45:30 +02:00
twinaphex f7a5833cb0 Turn bunch of functions static 2021-04-08 18:33:46 +02:00
twinaphex 42bd709f67 Old MSVC buildfix 2021-04-08 17:31:23 +02:00
twinaphex 2c7226de20 Less pointer grabbing 2021-04-08 17:08:46 +02:00
twinaphex d6c243143d Simplifications to dir_init_shader_internal 2021-04-08 16:49:23 +02:00
Barry Rowe d80833d892 Accessibility speak fix. 2021-04-07 20:39:25 -07:00
twinaphex fb1258b817 Set anim.update_timecb to NULL immediately after menu driver's 'free'
function has been called
2021-04-08 01:37:47 +02:00
twinaphex e5e8e9b5d8 Expand widget init function 2021-04-08 00:51:10 +02:00
twinaphex 95527fb566 Prevent some unnecessary variables being set 2021-04-08 00:22:29 +02:00
twinaphex 412a1885b2 Cleanups 2021-04-07 00:42:38 +02:00
twinaphex 886a692f1a video_driver_init_internal - don't call small one-line functions - set
directly
2021-04-07 00:36:00 +02:00
twinaphex d5ebf9039c Cleanups 2021-04-06 23:05:40 +02:00
twinaphex 789cf29d28 Pass more pointers 2021-04-06 22:35:47 +02:00
twinaphex f8a88fcb94 Cleanups 2021-04-06 20:17:06 +02:00
twinaphex 29a358ee3a Pass settings pointer around to more functions 2021-04-06 20:07:06 +02:00
twinaphex 29513919ca Rewrite retroarch_load_shader_preset_internal - no longer needs
p_rarch
2021-04-06 19:41:46 +02:00
twinaphex 45beb1bcdd Cleanups - pass pointers around instead of grabbing
p_rarch->configuration_settings everywhere; add some verbosity_enabled
checks
2021-04-06 19:31:04 +02:00
twinaphex 529c0f24da Silence some unused variable warnings 2021-04-06 18:29:59 +02:00
twinaphex 4855f371f1 Refactor accessibilty speak priority code - create LUT for
character/string pairs
2021-04-06 18:21:22 +02:00
twinaphex 76f000e4c8 Don't pass p_rarch around to other functions everywhere 2021-04-06 17:49:45 +02:00
twinaphex 2aea7a375d Input - turbocode - button ID is always below the threshold of
RARCH_FIRST_META_KEY, so put it inside the conditional
2021-04-06 15:59:44 +02:00
twinaphex 5cf2a7abd1 input_state_device - don't keep grabbing these pointers over and over 2021-04-06 14:42:30 +02:00
twinaphex d11c7cbbb1 Revert "Simplify input_state_device:"
This reverts commit 0b9bc85ddd.
2021-04-06 14:25:58 +02:00
Jonathan 5c6cd1b48a
Add scaling to pointer input (#12213)
So far, if display is scaled, overlays gets correctly drawn but touch
input is not correctly scaled, resulting in an unusable overlay.

This happens for touches in menu too.

This commit aims to introduce this scaling factor adding it to the
config file, eg:

input_touch_scale = "2"
2021-04-06 13:15:43 +02:00
twinaphex 9910dfbee2 Replace strcpy_literal usage of trivial string setting 2021-04-06 11:21:28 +02:00
twinaphex e2b084b715 Cleanups 2021-04-05 23:54:52 +02:00
twinaphex 5f9197bcc2 Get rid of more manual pointer grabbing 2021-04-05 23:37:42 +02:00
twinaphex 0b9bc85ddd Simplify input_state_device:
* run it within a loop internally for button_mask enabled
* only one function call invocation in codebase
2021-04-05 22:54:13 +02:00
twinaphex 66ad300515 input_state_device - don't have remap_binds_enable ifdefs here 2021-04-05 22:32:06 +02:00
twinaphex 4ce66f0764 Cleanup command_event_init_controllers 2021-04-05 22:26:41 +02:00
twinaphex 48af4fc704 Simplify find_driver functions 2021-04-05 21:06:17 +02:00
twinaphex 8c08b531d6 Simplify hw_render_context_name 2021-04-05 20:13:24 +02:00
David G. F b830b33cf1
Rewrite commands and add new command type (#12233)
* (OSX non-Metal build) Set disable execute page protection

* Rewrite commands and add new command type

This moves commands to a separate file and creates a consistent
interface for them. It is now possible to use multiple command
interfaces simultaneously (stdin, network and UDS).
Implemented a new interface for Lakka, UDS based (so Linux only). This
allow other Lakka servies to send certain commands to Retroarch in a
secure and reliable way.

Co-authored-by: twinaphex <libretro@gmail.com>
2021-04-05 19:55:59 +02:00
twinaphex af00dca08b Get rid of some pointer grabbing for disp_get_ptr by making it
a part of video_frame_info
2021-04-05 14:55:28 +02:00
sonninnos aaf7e1fb0d Block accidental diagonals in menu navigation 2021-04-04 15:44:19 +03:00
jdgleaver 371d0b7395 Add optional menu screensaver 2021-04-01 17:26:43 +01:00
jdgleaver 32bdb49496 Ensure that 'retro_set_controller_port_device' is called when updating 'Max Users' 2021-03-29 15:32:29 +01:00
sonninnos 23d558564f Customizable menu scroll hold delay 2021-03-26 04:23:52 +02:00
twinaphex c26741de70 Rename local variables 2021-03-25 22:48:00 +01:00
twinaphex cd9d6c0511 gfx_display - Get rid of lots of pointer grabbing 2021-03-25 20:12:34 +01:00
jdgleaver 0a08437e0a Add OpenDingux Beta support 2021-03-25 16:19:42 +00:00
twinaphex 0674de54ee (gfx_widgets.c) Get rid of more pointer grabbing to
config_get_ptr/dispwidgets_get_ptr/etc
2021-03-25 15:05:09 +01:00
twinaphex 7505790f32 Cut down on MIDI driver logspam when MIDI just points to null driver 2021-03-25 03:33:42 +01:00
twinaphex be3960e2be (gfx widgets) Add widgets_userdata to video_frame_info 2021-03-24 19:16:46 +01:00
twinaphex d9fa5585a0 Silence static code analysis warings pointed out by cppcheck 2021-03-24 02:23:58 +01:00