Commit Graph

773 Commits

Author SHA1 Message Date
twinaphex f59b420fde * Move more code to command.c
* Buildfix for CTR/3DS
2021-11-03 21:59:58 +01:00
twinaphex ec7b7821fa Move code out of retroarch.c 2021-10-29 14:13:16 +02:00
twinaphex 22d70a64dd Move command_write_memory and command_read_memory to command.c 2021-10-13 18:15:35 +02:00
Autechre e7f182811a
Split up audio code into new file audio/audio_driver.c (#13097)
* Split up audio code into new file audio/audio_driver.c

* Fix build issues #1

* Small cleanup

* Fix typo
2021-10-11 18:01:37 +02:00
twinaphex b4f09f7a55 Fix some header includes 2021-09-30 23:31:54 +02:00
twinaphex e886e908d5 Create consistent naming conventions - use retroarch_ instead
of rarch_ for some functions for all functions coming from retroarch.h
2021-09-28 12:56:10 +02:00
Michael Burgardt d8db234df0
Concatinate some previously truncated strings for easier translation (#12120) 2021-09-16 19:00:14 +02:00
twinaphex 8564b4f8e3 Fix compilation problem when HAVE_BSV_MOVIE is not defined 2021-09-09 16:58:52 +02:00
twinaphex 6a310ecfed Move more code to command.c 2021-09-09 16:55:14 +02:00
twinaphex 14cd338b97 Move code from retroarch.c to command.c 2021-09-09 16:31:35 +02:00
twinaphex 2f14d2e4e2 Move some command functions over from retroarch.c to command.c - the
other ones have some dependencies on static locals in retroarch.c so
can't be easily transferred over for now
2021-08-30 16:08:50 +02:00
jsd1982 b3eebbd5ec command: initialize netcmd->cmd_source_len before recvfrom() 2021-05-13 22:13:10 -05:00
twinaphex 966e0640af Style nits 2021-04-05 20:02:19 +02:00
twinaphex 0e26077a64 Add license headers 2021-04-05 19:58:18 +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 8438c9650a Last file to merge into retroarch.c - from here, we
can start refactoring things to split things off into tasks
that are not crucial to the main runloop
2019-07-22 16:46:33 +02:00
orbea e13ec54dc6 Fix --disable-overlay. 2019-07-21 10:26:42 -07:00
twinaphex b6b22a9a32 More shader refactors - make sure we can compile entirely
without shader support if HAVE_CG, HAVE_GLSL, HAVE_SLANG
and HAVE_HLSL are all not defined
2019-07-21 00:34:07 +02:00
twinaphex 7fe0662918 Cleanups 2019-07-20 12:51:52 +02:00
twinaphex d905986a52 Rename functions - change rarch_ prefix to retroarch_ 2019-07-20 12:43:43 +02:00
orbea ae6ea28220 Fix the iOS 11 build.
Fixes https://github.com/libretro/RetroArch/issues/9120.
2019-07-17 06:32:00 -07:00
twinaphex fa2e1fb0c1 overlay_ptr is now a static global variable inside retroarch.c 2019-07-10 06:53:47 +02:00
twinaphex b567bc7ead Revert "Remove BSV code - was obsolete and no longer working - input recording"
This reverts commit 7f731e390a.
2019-07-08 18:21:46 +02:00
twinaphex 7f731e390a Remove BSV code - was obsolete and no longer working - input recording
can be done in other ways instead of being held back by this old input
recording format - was decided along with Themaister that we want to
arrive at a codebase more easily maintained by all
2019-07-08 18:19:49 +02:00
twinaphex f4bf218f35 (Menu) We need to tell rarch_menu_running_finished whether we want
to exit RetroArch or not - to avoid certain crashes when trying to
access the settings pointer - which should already be freed at this
point
2019-06-30 11:23:18 +02:00
twinaphex faa52fb0df Use const for config_get_ptr global pointer to signify this pointer
isn't being written to, only read from
2019-06-26 07:40:47 +02:00
twinaphex 3b634b64fa Merge dirs.c into paths.c 2019-06-26 07:23:32 +02:00
twinaphex b0382d8f73 (Emscripten) Some buildfixes for platforms with no HAVE_NETWORKING support 2019-06-23 01:28:43 +02:00
Barry Rowe e9625b3ed9 AI Service feature. 2019-06-21 17:48:35 -07:00
radius d865c5e4a6 add some copyright on files I contributed considerably just in case 2019-06-20 05:45:17 +02:00
LazyBumHorse c20c67bd3a proper shader compatibility checks
- move shader flags from the video drivers to the context drivers
 - rework config_load_shader_preset() from configuration.c into retroarch_load_shader_preset() in retroarch.c with proper compatibility check
 - implicitly call retroarch_load_shader_preset() in retroarch_get_shader_preset() once per core/content life cycle
 - use video_shader_is_supported() instead of video_driver_test_all_flags() where appropriate
 - remove GFX_CTX_FLAGS_NONE because it is meaningless
2019-06-18 13:46:41 +02:00
LazyBumHorse 42e35c825f refactor some video_shader_parse functions
- video_shader_parse_type()'s fallback only worked for NULL paths and was wrongly used, now returns RARCH_SHADER_NONE like video_shader_get_type_from_ext().
 - video_shader_get_type_from_ext() should not be checking video driver flags, this is instead done by video_shader_is_supported()
 - video_driver_get_all_flags() did not actually 'get' flags, changed to video_driver_test_all_flags()

workaround for crash due to glcore not always using at least OpenGL 3.2
2019-06-18 13:12:56 +02:00
twinaphex f061941456 Integrate record_driver.c into retroarch.c 2019-06-17 16:23:46 +02:00
twinaphex ee3208ac39 Integrate video_driver.c into retroarch.c 2019-06-17 15:10:22 +02:00
twinaphex 61879bc8e0 audio_driver_dsp_filter_init - cleanup 2019-06-17 13:06:56 +02:00
twinaphex 127bf556c7 Merge audio_driver.c into retroarch.c 2019-06-17 12:49:21 +02:00
twinaphex 66022c1b13 Get rid of camera_driver_ctl and bsv_movie_ctl 2019-06-17 11:38:28 +02:00
twinaphex db87e050d5 Merge movie.c into retroarch.c 2019-06-16 16:52:48 +02:00
twinaphex e4b01642b9 Reimplement fullscreen toggle key 2019-06-16 16:20:43 +02:00
twinaphex 53c91d6e56 More runloop cleanups - create HOTKEY_CHECK3 2019-06-09 08:48:59 +02:00
twinaphex 640fb3a5cb command.c / retroarch.c cleanups 2019-06-09 08:35:16 +02:00
Twinaphex 3917d0c6c9
Merge pull request #8943 from orbea/networking
qb: Improve various tests.
2019-06-09 05:20:25 +02:00
twinaphex 9aa61a010f Fix build error 2019-06-09 04:25:22 +02:00
orbea c450b7d2f2 qb: Improve various tests.
Also fixes a compile failure with --disable-networking
2019-06-08 17:22:05 -07:00
twinaphex 5d301f321d Refactor hotkey checks 2019-06-08 15:19:15 +02:00
twinaphex 6d17d11132 Rewrite '== false' to '!' for our own code 2019-06-06 13:50:39 +02:00
twinaphex 58056a409d event_init_content - cleanup 2019-06-06 13:41:20 +02:00
twinaphex b87c9fd495 command_read_ram - small cleanups 2019-06-06 13:19:57 +02:00
twinaphex b4d2281f7d command_write_ram - cleanup 2019-06-06 13:12:38 +02:00
twinaphex 820ffb9d20 Cleanups - cut down on the rest of unnecessary filestream_exists calls
- only use filestream_exists immediately before filestream_delete or
any other genuine filestream-related operations - when just checking
if a path exists on the filesystem, just use path_is_valid - faster
2019-05-31 06:43:20 +02:00
meleu 694bac565f do not use old cheevos implementation 2019-05-29 14:26:22 -03:00
twinaphex 4f50886190 command_event_set_savestate_auto_index - cleanup 2019-05-27 18:02:13 +02:00
twinaphex 93ed7c7848 (command.c) Prevent allocations until most early returns have
stopped
2019-05-27 17:55:38 +02:00
twinaphex 020b714113 Refactor task_screenshot.c 2019-05-22 05:54:35 +02:00
twinaphex bf6e580435 (tasks) Get rid of dependencies 2019-05-22 05:13:01 +02:00
twinaphex eed2ea7a99 string_is_empty check is already being done by path_is_valid/file stat
path cb function
2019-05-22 03:05:31 +02:00
radius eef4ada025 fix #8725 again including:
- allow savestates on hardcore
- fix weird conditions happening due to having two implementations
- fix popup saying state was loaded when starting a game with achievements hardcore after a game with no achievements
- fix rewind not working when loading games with no achievements after loading games with achievements hardcore
2019-05-21 03:32:49 +02:00
twinaphex f17655f073 Revert "attempt to fix issue described in #8725"
This reverts commit 90b0afdaa7.
2019-05-21 03:32:18 +02:00
twinaphex 90b0afdaa7 attempt to fix issue described in #8725 2019-05-21 03:10:06 +02:00
radius 35910e8785 fix #8725 2019-05-14 07:58:29 +02:00
Barry Rowe 8745333892 OCR Translation feature finaliziation. (#8738) 2019-05-11 07:15:39 +02:00
twinaphex 5e9bfd52db command_set_shader - set settings->bools.video_shader_enable to
true if not already enabled when command_set_shader succeeds
2019-05-06 23:40:19 +02:00
Twinaphex 786a5bd9a8
Merge pull request #8693 from meleu/patch-5
add "Use Old Implementation" in the Achievements menu
2019-05-05 01:19:01 +02:00
natinusala a381c2180d menu_widgets: implement generic message widget, have shaders selection use it 2019-05-04 23:21:17 +02:00
meleu 22a956f663 replace 'cheevos_rcheevos_enable' by 'cheevos_old_enable' 2019-05-04 12:52:49 -03:00
natinusala 636f2ddb28 menu_widgets: implement the user setting 2019-05-03 21:25:20 +02:00
twinaphex 7ffbba6187 (WiiU) Silence warning - enumeration value not handled in switch 2019-05-01 00:13:12 +02:00
twinaphex ac2fec7298 Revert "(command.c) Cleanups"
This reverts commit f7d4bd5faa.
2019-04-27 14:05:05 +02:00
twinaphex f7d4bd5faa (command.c) Cleanups 2019-04-27 13:18:05 +02:00
twinaphex 3e72c502a8 strlen optimizations :
- use STRLEN_CONST for constant strings, translates to sizeof
which should be computed at compile-time
- found some places where we are needlessly calling strlen two
times instead of just once
2019-04-27 04:21:10 +02:00
meleu c2364096f3
Merge branch 'master' into runtime_rcheevos_switch 2019-04-19 21:50:00 -03:00
Brad Parker f7b0c0947c add subsystem_name (friendly name) to history playlist, make playlist_entry struct public to simplify function parameters 2019-04-12 12:50:27 -04:00
Brad Parker 230c64ba4b add subsystem support for playlists, only missing the content load portion 2019-04-11 00:09:13 -04:00
natinusala fba6f69d74 menu widgets: reimplement volume widget 2019-04-08 17:06:05 +02:00
natinusala b750199db4 menu widgets: reimplement pause widget 2019-04-08 17:06:04 +02:00
meleu a5acd559d6 namespace both cheevos implementations & add a runtime setting to allow debugging 2019-03-19 21:13:10 -03:00
Hugo Hromic 1233c9d0dc (command.c) Silence warning in C89 build 2019-03-14 16:12:56 +00:00
twinaphex 57e11a10e7 Reimplement video_shader_get_type_from_ext 2019-03-13 20:32:19 +01:00
twinaphex 34f4d5ed0e Cleanups 2019-03-11 18:33:24 +01:00
twinaphex 03ba1153a4 Prevent more HAVE_NETWORKING handling errors 2019-03-11 18:04:06 +01:00
Brad Parker 19ced73596 add hotkey to toggle netplay hosting 2019-03-09 17:48:03 -05:00
Brad Parker 4bb81bbb1b add F10 hotkey to send debug info, fix F3 hotkey for FPS toggle when inside menu 2019-03-09 16:03:17 -05:00
jdgleaver dc8ef72323 Populate crc32 and db_name fields when adding history/favourites playlist entries
playlist.c: Fix silly range check error
2019-03-09 13:58:53 +00:00
twinaphex fe3be212b3 C89_BUILD buildfix 2019-03-07 06:46:39 +01:00
Twinaphex 7f726fc1eb
Merge pull request #8422 from Skarsnik/master
command.c, replace sprintf with snprintf
2019-03-06 18:23:36 +01:00
Sylvain Colinet 064a979fbc command.c, replace sprintf with snprintf 2019-03-06 14:23:58 +01:00
Twinaphex 6b742fb70e
Merge pull request #8421 from Skarsnik/master
Network command interface : Refix the network command READ_CORE_RAM
2019-03-06 13:59:11 +01:00
Sylvain Colinet 587424e0ef Refix the network command READ_CORE_RAM to not crash on read supperior to 78 2019-03-06 13:40:25 +01:00
jdgleaver 541cb42e5a Optimise 'Add to Favorites' option 2019-03-05 13:07:42 +00:00
jdgleaver a8f2381155 Enable 'Add to Favorites' without loading a core 2019-03-02 14:08:48 +00:00
jdgleaver 33c27606d3 Finalise integration of per-content runtime logs (runtime sublabels on all playlists, 'last played' timestamp added to playlist sublablels,
content_runtime.lpl retired)
2019-03-01 14:06:40 +00:00
Brad Parker 4f0d61a2ac update copyright 2019-02-22 19:13:36 -05:00
orbea 6f878fed91 Silence unused function warning with --disable-networking. 2019-02-22 07:28:17 -08:00
radius 8936faf21f fix [Config]: blah blah blah printing on the OSD on save configuration
fix new configurations having two periods in the filename
2019-02-21 13:57:06 -05:00
jdgleaver 1d0cee5fe5 Only parse runtime playlist when loading content history playlist (+ bugfixes to original runtime logging) 2019-02-21 15:50:48 +00:00
jdgleaver 0b04312412 Add optional playlist sublabels (associated core + play time, where available) 2019-02-21 15:50:48 +00:00
radius 964c4ec6e9 C89 build fix 2019-02-18 23:12:15 -05:00
benoa dc352fe7a0 Wii: Don't init overlay when RAM is beyond 72MB. 2019-02-15 16:50:25 +01:00
Brad Parker 44c4be1863 add option to track how long content has been running over time 2019-02-12 00:32:01 -05:00
twinaphex 7022786f34 Revert parts of menu_widgets that were causing breakage, but leave
all the hooks in so we can add them back piece by piece again
2019-02-08 07:26:43 +01:00
twinaphex 54a9a3bd1d C89_BUILD fixes 2019-02-07 05:38:46 +01:00
radius 671e90a415 [discord] party & ask to join refinements 2019-02-06 22:45:05 -05:00
natinusala c20ab3864d First version of menu widgets (gl only) 2019-02-06 20:48:24 +01:00
orbea 762151758d Fix --disable-menu (Again). 2019-02-04 09:01:37 -08:00
twinaphex d24408730b Cleanups 2019-01-31 15:13:36 +01:00
twinaphex b13777e9fc Header cleanups 2019-01-20 03:16:58 +01:00
twinaphex 9bb7132b97 Move command_playlist_ functions to playlist.c
(RGUI) Header buildfix
2019-01-20 01:57:24 +01:00
meleu bd43f19407
path fix to allow compiling with HAVE_NEW_CHEEVOS
This doesn't affect anything in the traditional binaries built by the buildbot.
2019-01-19 05:34:46 -02:00
orbea 32586bc316 Fix crashes when changing cores.
When switching cores it was possible to hit core_unload_game
and core_load twice which potentially led to crashes when switching
some cores without closing content before loading the new core.

Fixes https://github.com/libretro/RetroArch/issues/4107
2019-01-10 19:04:51 -08:00
orbea bfc366decc Squeeze extra blank lines with cat(1).
Example:

find . -type f -iname '*.c' | while read -r i; do
  cat -s "$i" > "$i.new"
  mv "$i.new" "$i"
done
2019-01-08 11:04:58 -08:00
radius 3cedc83bfa [discord] cleanup, add helper functions 2018-12-28 17:16:16 -05:00
radius a7e4d8359b fix fullscreen=>windowed when remember window positions is on 2018-12-11 19:34:12 -05:00
radius cad5ae287f fix https://github.com/libretro/fbalpha/issues/24#issuecomment-445803876 2018-12-10 22:09:42 -05:00
Tatsuya79 d52b38eadc Add FPS counter hotkey. 2018-11-29 13:12:11 +01:00
twinaphex ca0bd95c0a FIx MSVC builds 2018-11-28 11:03:52 +01:00
radius 77faf4ac4a [subsystem] try to load subsystems without loading content 2018-11-24 23:34:51 -05:00
twinaphex a662b62d19 Use runloop_get_libretro_system_info in more places - clean some code up 2018-10-30 17:11:07 +01:00
radius 6dc8862220 [cheevos] autoload state may kick in before achievements are loaded, disable autoload state altogether if cheevos hardcode is enabled 2018-10-09 19:07:05 -05:00
gvbr f11bb03825 Fix error when compiling without cheevos 2018-10-06 04:37:37 -07:00
twinaphex 0ba8597041 Cleanups/silence warnings 2018-10-04 16:24:10 +02:00
twinaphex ac14ea6d01 Go back to old cheevos 2018-10-01 15:02:51 +02:00
twinaphex 7245cb2732 Add Reset To Defaults setting 2018-10-01 02:13:53 +02:00
Andre Leiradella 48e9dd6baf Merge branch 'master' into integrate_rcheevos 2018-09-29 14:33:31 +01:00
twinaphex 761644ee57 Increase size of string to 8192 2018-09-28 21:42:09 +02:00
Andre Leiradella d67aa83f48 Merge branch 'master' into integrate_rcheevos 2018-09-27 21:48:34 +01:00
twinaphex 44a0c70c8a Removed unused RARCH_MENU_CTL_REFRESH 2018-09-25 16:28:36 +02:00
twinaphex 540270d3ed (cheevos) This needs to be behind HAVE_CHEEVOS ifdefs 2018-09-23 12:25:31 +02:00
radius a0339e95ec Reset the flag on reset 2018-09-22 21:27:19 -05:00
radius c07744564a prevent retroachievements cheating exploit
Revert "prevent retroachievements cheating exploit" and reimplement it in a better way

This reverts commit d323338caa4882925d184f5ee7a506bfa8c78c1e.
2018-09-22 11:43:34 -05:00
twinaphex cb8148878c Add hotkeys for 'Toggle Recording' / 'Toggle Streaming' 2018-09-18 08:52:09 +02:00
radius 356d4e2c5e [record] further cleanups of the workflow 2018-09-18 00:30:46 -05:00
radius 6351e80946 [recording] handle failure to start recording properly 2018-09-18 00:04:18 -05:00
radius ef9258449c [recording] hook up the options properly 2018-09-17 09:08:54 -05:00
twinaphex eb9e8c97d6 (Menu) Cleanups 2018-09-17 10:09:52 +02:00
radius 1c85058e72 [recording] rename bsv recording from movie to input replay 2018-09-15 21:47:23 -05:00
radius 16bd85b118 [recording] refactor recording_is_enabled no need to use a pointer for all of this 2018-09-15 21:09:41 -05:00
radius 9d490ace3b [record] deinit before init 2018-09-15 17:54:00 -05:00
radius 49214de125 [record] start whipping some sense into this feature 2018-09-15 17:49:39 -05:00
twinaphex 09d27fc591 Silence some warnings 2018-09-15 07:19:51 +02:00
radius 4d0729187f [discord] start getting ready for ask-to-join functionality, cleanup some of the mess 2018-09-12 01:45:27 -05:00
Andre Leiradella 7b5e317ad0 Fix merge error 2018-09-02 14:50:16 +01:00
Andre Leiradella 83169e5fcb Merge branch 'master' into integrate_rcheevos 2018-09-02 14:46:48 +01:00
Andre Leiradella 613a3e8479 Integrated rcheevos 2018-09-02 14:23:37 +01:00
neville 5af0e58288 - Unset BOM
- remove non-latin characters - won't compile on OSX PPC otherwise
2018-08-30 16:05:51 +02:00
Jesse Bryan 44180e55b1 Merge branch 'master' of https://github.com/libretro/RetroArch into discord_improvements 2018-08-20 08:30:57 -05:00
Brad Parker b0146abd11 add fullpath and use_thread parameters to take_screenshot() 2018-08-18 23:08:55 -04:00
Jesse Bryan fd7d8d9424 Merge branch 'master' of https://github.com/libretro/RetroArch into discord_improvements 2018-08-18 02:12:56 -05:00
Jesse Bryan a0cf6b6b5e discord: added additional discord events and other improvements 2018-08-18 02:12:51 -05:00
Brad Parker dfd85125ad fix null deref 2018-08-18 01:10:05 -04:00
twinaphex f9e8737476 Remove libui - we don't need it anymore now that we have the Qt desktop
UI
2018-08-16 21:34:20 +02:00