Commit Graph

657 Commits

Author SHA1 Message Date
twinaphex 64b535872d Rewrite limit_frame_time 2014-10-03 18:12:41 +02:00
twinaphex aa961dba9e Add 'Limit Maximum Run Speed' setting - set this to 'off' to
get the fastforward_ratio = -1 (no limit) setting again
2014-10-03 18:05:46 +02:00
twinaphex 5c09e6be84 Add RARCH_CMD_DISK_EJECT_TOGGLE/RARCH_CMD_DISK_NEXT 2014-10-03 15:13:37 +02:00
twinaphex cc277fcf76 Move more init/deinit code to rarch_main_command 2014-10-03 15:04:00 +02:00
twinaphex ade2f71662 Cleanup do_state_checks 2014-10-03 14:53:04 +02:00
twinaphex 45b61457e2 Rewrite rarch_check_fullscreen 2014-10-03 13:45:41 +02:00
twinaphex e99a6f99d4 Move RARCH_CMD_HISTORY_DEINIT right above RARCH_CMD_HISTORY_INIT 2014-10-03 13:08:24 +02:00
twinaphex 4a623684c2 Init history file right before we attempt to push something to it
in rarch_main
2014-10-03 13:07:33 +02:00
twinaphex e7fed15250 Add RARCH_CMD_DRIVERS_DEINIT/RARCH_CMD_DRIVERS_INIT 2014-10-03 12:40:41 +02:00
twinaphex 2897e2f1fd Add RARCH_CMD_CORE_INFO_DEINIT 2014-10-03 12:37:55 +02:00
twinaphex 1762f70d9b RARCH_CMD_RECORD_INIT - call rarch_main_command(RARCH_CMD_RECORD_DEINIT)
for safety precautions
2014-10-03 12:36:29 +02:00
twinaphex e9a10c6295 Add more commands to rarch_main_command 2014-10-03 12:35:38 +02:00
twinaphex de3dbfb439 Have more initing/deiniting go through rarch_main_command 2014-10-03 12:26:29 +02:00
twinaphex 330dd1822c Cleanups 2014-10-03 12:07:15 +02:00
twinaphex e996e3df45 Move more stuff to rarch_main_command 2014-10-03 11:59:24 +02:00
twinaphex 4f0953f3e3 Add RARCH_CMD_REWIND_DEINIT/RARCH_CMD_REWIND_INIT/RARCH_CMD_REWIND_TOGGLE 2014-10-03 11:44:54 +02:00
twinaphex 16fd8b227e Expand rarch_main_command 2014-10-03 11:33:58 +02:00
twinaphex 75271b7d10 Turn more functions into static 2014-10-03 01:07:35 +02:00
twinaphex 532938c5fa Refactor meta_input_keys_pressed 2014-10-03 00:55:44 +02:00
twinaphex 8a1f15c460 Move rarch_check_block_hotkey to input/input_common.c and make
the function static
2014-10-03 00:46:14 +02:00
twinaphex c25bc493ab Add RARCH_CMD_SHADER_DIR_INIT/RARCH_CMD_SHADER_DIR_DEINIT 2014-10-03 00:13:50 +02:00
twinaphex a8d8e9d13b (rarch_main_command) Inline set_fullscreen function into RARCH_CMD_REINIT 2014-10-03 00:08:42 +02:00
twinaphex 9de94c6298 Move flush_audio to libretro_version_1.c as static function 2014-10-02 23:43:28 +02:00
twinaphex e1b139da84 (RARCH_CONSOLE) Prevent exit_spawn from being set to true whenever
we start new content
2014-10-02 22:57:31 +02:00
twinaphex e6a79f798b Refactor MODE_EXITSPAWN and MODE_EXITSPAWN_START_GAME 2014-10-02 21:39:29 +02:00
twinaphex ed928b70be Simplify rarch_render_cached_frame 2014-10-02 20:00:11 +02:00
twinaphex 0135d763db Move g_extern.netplay to driver.netplay_data 2014-10-01 23:00:05 +02:00
twinaphex dead11f182 Move driver_active variables over to driver global 2014-10-01 22:34:48 +02:00
twinaphex a35c61ec90 (Audio driver) Add 'alive' function callback 2014-10-01 21:42:19 +02:00
Twinaphex e135931644 Merge pull request #1072 from CyberShadow/pull-20141001-131543
Add --eof-exit and --max-frames
2014-10-01 17:33:56 +02:00
Vladimir Panteleev c3e6dd41cc Add --eof-exit switch 2014-10-01 14:33:00 +00:00
Vladimir Panteleev 9b9fa94c27 Add --max-frames option 2014-10-01 13:22:22 +00:00
Twinaphex 41351fc73c (Apple HID) Implement VID/PID passing 2014-10-01 14:24:55 +02:00
Twinaphex 76240aa322 (iOS) Prevent crash when selecting 'Quit RetroArch' in menu 2014-10-01 14:19:00 +02:00
twinaphex faf124d5ea Cleanups to update_frame_time 2014-10-01 13:23:53 +02:00
twinaphex e58c9dc179 Move init_shader_dir/deinit_shader_dir to retroarch.c and make them
non-static functions
2014-10-01 12:49:21 +02:00
twinaphex 19372d5ce6 main_clear_state_extern - start manually cleaning up/freeing
pointers in g_extern before doing a memset 0 on it - not
complete yet
2014-09-30 21:50:05 +02:00
twinaphex efd356a466 Refactor rarch_main_state_new - use g_extern.main_is_init 2014-09-30 21:32:18 +02:00
twinaphex f273b34f73 deinit_msg_queue becomes static function - clean it up in rarch_main_state_free 2014-09-30 21:29:28 +02:00
twinaphex 1a94f14e50 Move recording and resampler drivers to 'driver' global struct -
moving it outside of g_extern
2014-09-30 21:23:00 +02:00
twinaphex 9daad8bdb8 Split up rarch_main_clear_state into two functions - rarch_main_state_new
and rarch_main_state_free
2014-09-30 20:46:15 +02:00
twinaphex c5f1788b36 Make rarch_main_clear_state more resilient 2014-09-30 18:54:02 +02:00
twinaphex aaee1a016f rarch_audio_flush - prevent segfault if g_extern.audio_data.data
is NULL
2014-09-30 17:08:32 +02:00
Twinaphex 9f5031188b Merge pull request #1066 from CyberShadow/pull-20140930-083313
Refactor old_state out of meta_input_keys_pressed into rarch_main_iterate
2014-09-30 10:40:43 +02:00
Vladimir Panteleev 0c104ffef8 Refactor old_state out of meta_input_keys_pressed into rarch_main_iterate 2014-09-30 08:35:41 +00:00
twinaphex 8584ef94f4 Implement RARCH_CMD_MENU_PAUSE_LIBRETRO 2014-09-29 15:55:41 +02:00
twinaphex 043cfdbb43 Stop/start audio driver only when g_settings.menu.pause_libretro is enabled 2014-09-29 15:40:52 +02:00
Vladimir Panteleev d0e970f175 Fix/reimplement input flushing
This fixes:

- menu toggle erratically not working on Android
- stray input going to libretro core when resuming content
- bound keys triggering as soon as they're bound on Android
- menu key repeat also repeating keys which should not be repeated
- issues caused by relying on timeouts for flushing

Architectural changes:

- menu_ctx_driver_t::input_postprocess now takes state and old_state
  (this allows getting rid of menu_handle_t::trigger_state)

Related changes:

- remove some no-op input_postprocess handlers (same effect as NULL)
- menu_iterate now uses the parameters passed to it, instead of
  polling menu_input
- menu_input is now merged into meta_input_keys_pressed
2014-09-29 12:58:52 +00:00
twinaphex 9d52362940 Create do_menu_oneshot function 2014-09-29 13:33:32 +02:00
twinaphex c7d6eaa830 Refactor RARCH_ACTION_STATE_MENU_PREINIT into RARCH_ACTION_STATE_MENU_RUNNING 2014-09-29 13:27:28 +02:00
twinaphex 96958cc46e Refactor menu toggle code 2014-09-29 13:12:39 +02:00
twinaphex 5751dfdecf Move stateful code over to rarch_main_set_state (for menu toggling) 2014-09-29 12:44:17 +02:00
twinaphex 449cb9e9ed (Menu) Do away with throttle_frame in menu_iterate - let rarch_main_iterate
do this
2014-09-28 19:11:11 +02:00
twinaphex 3c8cc513ab Make it possible to compile without menu support again 2014-09-28 18:01:59 +02:00
twinaphex cdefbcfc61 (retroarch.c/overlay.c) - cleanups 2014-09-28 17:52:15 +02:00
twinaphex 822bbe4e92 Create menu_shader_manager_apply_changes and move code to menu_shader.c 2014-09-28 17:42:31 +02:00
twinaphex 6cb07c02ab Do early return in loop if no analog Dpad mode set 2014-09-26 14:07:48 +02:00
twinaphex 6c637dafc3 Refactor update_frame_time/limit_frame_time 2014-09-26 12:43:15 +02:00
twinaphex d1d504df6c Implement menu toggle in a better way 2014-09-25 18:38:35 +02:00
twinaphex d94e8329e8 Move stuff to config.features.h 2014-09-25 08:12:58 +02:00
twinaphex 00e605d9ba Take out MODE_MENu - and introduce g_extern.is_menu 2014-09-25 06:33:28 +02:00
twinaphex 15f82cb477 Take out ACTION_STATE_FLUSH_INPUT 2014-09-25 06:25:27 +02:00
twinaphex eec0724175 Reimplement FLUSH_INPUT 2014-09-25 04:58:26 +02:00
twinaphex 8015061720 Refactor menu_input - add input_keys_pressed in addition to
meta_input_keys_pressed
2014-09-25 04:19:09 +02:00
twinaphex 2309a3e716 Move input_poll to libretro_version_1.c 2014-09-24 09:52:01 +02:00
twinaphex 9d94513dc4 (Menu/Shaders) Move all shader manager code to frontend/menu/menu_shader 2014-09-24 07:56:47 +02:00
twinaphex 63680ca5b4 Go through static variable retro_ctx for libretro backend
functions
2014-09-23 03:55:19 +02:00
twinaphex 10b6384bb2 Move recording_dump_frame back to retroarch.c 2014-09-23 03:14:25 +02:00
twinaphex a7e6df69c8 Split up libretro (v1) code to libretro_version_1.c file 2014-09-23 03:03:56 +02:00
twinaphex 40402174d9 Take out obsolete manipulation of driver.menu->old_input_state 2014-09-22 02:57:36 +02:00
twinaphex 0501172f7a Should fix issue https://github.com/libretro/RetroArch/issues/1039 2014-09-21 21:40:54 +02:00
twinaphex 430e0f1911 Reimplement rarch_main_iterate - menu iteration frame now gets
called from here too. Do away with the hoky 'MENU_GAME' state
as well.
2014-09-21 09:18:26 +02:00
twinaphex 29aed58e4e Refactor MODE_LOAD_GAME 2014-09-21 06:50:10 +02:00
twinaphex 7056c9ca39 Refactor MENU_CLEAR_INPUT 2014-09-21 06:41:47 +02:00
twinaphex 9dc35b056f Refactor MODE_MENU_PREINIT code 2014-09-21 06:33:49 +02:00
twinaphex 1e4cd8abe0 Move frame_time_last= 0 to rarch_set_action_state 2014-09-21 04:49:10 +02:00
twinaphex e5c22e3e54 Refactor check_enter_menu 2014-09-19 22:41:40 +02:00
twinaphex 1bfc20b041 Refactor check_movie_record code some more 2014-09-19 20:06:09 +02:00
twinaphex 17088bdaf2 Split up check_movie_record into check_movie_init and check_movie_record 2014-09-19 20:00:15 +02:00
twinaphex bf40faebb9 Refactor do_state_checks - returns false if paused 2014-09-19 09:14:49 +02:00
twinaphex 038d397ece Minor cleanups in retroarch.c 2014-09-19 07:53:03 +02:00
twinaphex 58cfb27c5a Split up some of the code in retroarch.c to general.c 2014-09-19 07:34:34 +02:00
twinaphex f16a065cdd Fixes 'block hotkey enable' 2014-09-18 04:04:33 +02:00
Twinaphex c75f1d163b Merge pull request #1036 from timostrunk/fix_state_naming
Fix directory and naming of savestates, srm files.
2014-09-17 20:20:33 +02:00
twinaphex 4c4ae11ab6 Optimizations to input handling in rarch_main_iterate - pass
'trigger' state around
2014-09-17 20:15:56 +02:00
Timo Strunk 757f7d96c2 Now path is also correctly sanitized. g_extern.basename of /path/to/file.zip#game.img is now /path/to/game 2014-09-17 19:46:59 +02:00
Timo Strunk 95f02d12f4 Basenames should now be correct also when using zipfiles. It is now always only the basename of the file in the zipfile. So if zipname == internalname, its zipname, like requested here: https://github.com/libretro/RetroArch/issues/1030#issuecomment-55810822 2014-09-17 18:41:23 +02:00
twinaphex 82806dcd85 Hide away last BIND_PRESSED invocations with check_quit_key_func 2014-09-17 17:48:41 +02:00
twinaphex f7061e7233 Rewrite check_pausegp 2014-09-17 17:45:44 +02:00
twinaphex 3892c8326d Use macro functions to hide away some of the ugliness 2014-09-17 07:38:49 +02:00
twinaphex 92938fe45f Optimizations - prevent static bools everywhere in check_* functions
- input_keys_pressed_func takes a pointer and sets it to the last
input state. We then pass this around functions and use it where
necessary
2014-09-17 06:55:03 +02:00
twinaphex 310438f15b Refactor away input_key_pressed_func 2014-09-17 00:29:47 +02:00
twinaphex 7a66467161 Create macro BIND_PRESSED - wrapper around BIT64_GET 2014-09-16 18:08:44 +02:00
twinaphex 709ecbfa67 Get rid of some redundant function pointer checks for driver.input 2014-09-16 17:50:38 +02:00
twinaphex a5e367d2f0 More of aforementioend 2014-09-16 09:48:47 +02:00
twinaphex c391249e3f Optimizations -
* reduce amount of calls to input_key_pressed_func all throughout
rarch_main_iterate - call input_keys_pressed_func only once and
then pass an input state value around to all subsequent functions
* define retro_input_t typedef - simply an uint64_t for now since
meta binds don't exceed 64 entries yet
2014-09-16 09:26:08 +02:00
twinaphex 2f06612133 (retroarch.c) refactors 2014-09-16 07:20:09 +02:00
twinaphex cbce0c7b8a Create write_empty_file helper function in file_path.c 2014-09-15 05:49:48 +02:00
twinaphex 2284395c4d Get rid of frontend_loop 2014-09-14 16:29:09 +02:00
twinaphex a3269ff9ed Add RARCH_ACTION_STATE_MENU_RUNNING_FINISHED to RARCH_CMD_RESUME 2014-09-14 15:37:47 +02:00