Commit Graph

433 Commits

Author SHA1 Message Date
twinaphex af440bf545 (Menu) Menu now gets inited from driver.c instead of frontend.c
(Console) Better way to 'restart' instead of using the function
'restart' - call rarch_set_fullscreen instead. 'Restart' function
in driver interface can go now
(Menu) Menu now gets properly deinited/reinited when - say -
rarch_set_fullscreen is toggled or some other state change like this.
If init_assets function of menu_ctx_driver is implemented, this should
ensure all GL/D3D assets get 'cleaned up' prior to teardown of the video
driver, and properly reinited after the video driver is brought up again
2014-05-30 17:49:04 +02:00
twinaphex b0b9599822 (Frontend) More cleanups 2014-05-28 22:44:25 +02:00
twinaphex 14c81f13c9 (Frontend) Remove attempt_load_game variable 2014-05-28 22:20:08 +02:00
twinaphex d70b8a0f15 Get rid of global driver init/uninit bullshit - we're going to do
console initing/deiniting properly once and for all
2014-05-28 22:09:42 +02:00
twinaphex 1416e47195 (Console) Should bring up menu context in case it fails the first time 2014-05-27 19:21:44 +02:00
twinaphex 701a805737 (Playbook) Fixes Playbook build 2014-05-20 02:33:09 +02:00
twinaphex d62164c4ae (BB10) Build fixes
(General) Fix some unused variable warnings
2014-05-17 22:16:25 +02:00
twinaphex 8821a54aba put frontend_ctx variable into driver struct 2014-05-13 20:23:36 +02:00
twinaphex 10c801b64e Take out MODE_EXIT 2014-05-12 16:01:00 +02:00
twinaphex d7c1ea5ece Revert "(RARCH_CONSOLE) Can finally get rid of global_driver_init"
Spoke too soon - we really need to refactor this mess so that
consoles, mobile and PC all follow the SAME basic initing/deiniting
structure. This kind of backwardsness is going to scale very, very
badly.

This reverts commit 540fad51a6.
2014-05-10 03:33:11 +02:00
twinaphex 540fad51a6 (RARCH_CONSOLE) Can finally get rid of global_driver_init 2014-05-09 06:45:03 +02:00
twinaphex cf669f21ca * Add 'null' frontend context driver (will come into use later on in
more important ways)
* RetroArch when compiled with menu support will now cleanly exit if
menu driver cannot be initialized properly
2014-05-09 06:12:53 +02:00
twinaphex 0454ac623e (Menu) Move 'rgui' global variable to 'driver' struct 2014-05-09 05:47:32 +02:00
twinaphex ba46770f3c Rework frontend.c and make it possible to compile without HAVE_MENU
defined again
2014-04-30 04:00:39 +02:00
twinaphex 125d9e837e Add load_dummy_on_core_shutdown option to cfg and RGUI 2014-04-14 06:07:17 +02:00
Themaister 6eb349dca6 Remove passing around video_data inside RGUI.
Makes very little sense to add cruft to the interface
when it also risks using an invalidated video_data ...
2014-03-25 10:19:02 +01:00
Themaister bad7f9af82 Check command interface in rarch_input_poll. 2014-03-17 11:34:25 +01:00
twinaphex 36716706c2 (Menu) Pass video_data pointer to menu functions 2014-03-07 06:28:49 +01:00
twinaphex f765408f57 (RARCH_CONSOLE) Take out dead core upgrading code 2014-03-05 23:43:21 +01:00
twinaphex 6f19662d75 (Menu) Split up keyboard input line cb code to separate file - menu_input_line_cb 2014-03-02 05:24:57 +01:00
twinaphex efbbe5fbf0 (Frontend) Cleanups/cutdown on code duplication 2014-02-23 01:18:27 +01:00
twinaphex 10f4b5f92a (Apple) Set load_dummy_on_core_shutdown to false for Apple 2014-02-18 02:23:58 +01:00
twinaphex 9d6a0afd4a Reimplement menu clear input courtesy of meancoot 2014-02-18 02:18:34 +01:00
twinaphex d22999ab14 Backpot neagix patch - prevent last button input when resuming from
menu
2014-02-01 22:30:31 +01:00
Themaister c90a8bcfec Return to RGUI when core shuts down.
Don't do this on consoles (uses dummy core).
2014-01-23 20:00:25 +01:00
Themaister 81fc0f621a Only call rarch_main_deinit if main has been initied. 2014-01-03 14:42:38 +01:00
Themaister be81549d92 Only save per-core configs when core specific option is enabled.
Also, need to enforce that g_settings.core_specific_config is true
after loading core specific config. It's possible that core specific
option is set to false before loading a different core (using global
config only).
2014-01-02 18:01:01 +01:00
Themaister 13a006d147 Restructure per-core configs.
Merging yesterday was probably a bit premature.

One issue I overlooked was that per-core configs were not flushed to disk
when loading a new core on PC. The per-core flushing only happened on
main_exit(), which is only run on application termination. This hence
would only work with consoles with exitspawn.

config_set_defaults() must be called when loading per-core-specifics as
well or lots of options silently leak into other core specific configs
when cores are changed.

The handling with g_extern.config_path and original_config_path was
difficult logic and very error prone considering it was mutated aribitrarily by RGUI.
I've removed the original config path concept and stuck
with that config_path is *only* for global config, and
core_specific_config_path is for core-specifics (which are resolved
during config load). Saves some memory too,
which is always nice.

The block_config_read solution I proposed yesterday was not good after
all (in fact, broken on PC), and the current solution should work better.

"RetroArch Config" option in RGUI now only shows global config.
2014-01-02 17:52:48 +01:00
Toad King 8f45063f74 menu support for core specific config 2014-01-01 15:02:57 -05:00
Toad King 0a91c528f9 core-specific config files 2014-01-01 14:44:20 -05:00
twinaphex 0a15a17d44 Update years on all license headers 2014-01-01 01:50:59 +01:00
Toad King defb6efc5a [EMSCRIPTEN] build fix 2013-12-29 16:19:15 -05:00
twinaphex ff036066e2 Rework frontend - separate functions now for iterating per frame
and for doing teardown - Emscripten and Apple ports can make use
of this now so we don't need separate frontend implementations
2013-12-28 21:08:30 +01:00
twinaphex 9d0c5a5a03 (frontend.c) Some cleanups 2013-12-28 04:40:40 +01:00
twinaphex 742f85eafc Add HAVE_LOCATION - still need to write frontend drivers now for
location
2013-12-19 01:51:51 +01:00
twinaphex 9852c5dc4c Rewrite perf interface - exposes callbacks now for RETRO_PERFORMANCE_INIT/RETRO_PERFORMANCE_START/RETRO_PERFORMANCE_STOP calls without messy, hardcoded preprocessor-dependent variables in macros - will update cores accordingly too 2013-12-18 19:03:08 +01:00
twinaphex 166aa29443 (Libretro) Expose perf_log as callback too to libretro 2013-12-17 19:37:33 +01:00
twinaphex 38d785984f Add RETRO_ENVIRONMENT_GET_PERF_INTERFACE to libretro.h 2013-12-17 19:10:40 +01:00
meancoot 693a826f2f (OSX) Fix frontend/frontend.c so passed arguments are accepted. 2013-12-10 16:41:23 -05:00
Squarepusher 7231fdfa40 (OSX) Doesn't try to boot up game now at startup - can launch into RGUI 2013-11-19 11:31:46 +01:00
Themaister b44bd25ab3 Fix segfault with video_poke missing. 2013-11-18 13:44:34 +01:00
Themaister adb0b4dfbe Fix ifdef for pushing early to history. 2013-11-18 09:27:51 +01:00
twinaphex f8c37fc933 (Menu) Simplify menu preprocessor conditionals - there is now
one common catch-all define called HAVE_MENU
2013-11-08 04:36:47 +01:00
twinaphex da8f8b6d63 Get rid of lifecycle_mode_state and use g_extern.lifecycle_state
instead
2013-11-07 21:44:44 +01:00
twinaphex 62737026f6 (frontend) Add more code that should allow for Emscripten support
in frontend.c
2013-11-04 13:08:19 +01:00
twinaphex 41751ff0cf (frontend) Add some workarounds for Emscripten 2013-11-04 12:46:47 +01:00
twinaphex d1b69f4c43 (frontend) HAVE_BB10 should also have HAVE_MEHU defined 2013-11-03 17:04:44 +01:00
twinaphex fe66f57406 (frontend) Fixup space in license header 2013-11-03 16:52:11 +01:00
twinaphex 002c519707 Add credit where credit is due 2013-11-03 16:51:37 +01:00
twinaphex 74d1d11a65 (Android) Remove frontend_android.c - now uses frontend.c 2013-11-03 16:49:54 +01:00
twinaphex 5d52aaf3a3 (Android) Rewrite frontend_android 2013-11-03 16:38:56 +01:00
Themaister 970c973540 global_uninit_drivers() should come after main deinit.
Actually free video driver in global_uninit.
2013-11-03 10:42:05 +01:00
twinaphex 4f7ebbd964 (Frontend) Remove ifdef 2013-11-03 06:14:02 +01:00
twinaphex 2e5d151fac (RARCH_CONSOLE) Should fix erroneous attempt_load_game for RARCH_CONSOLE 2013-11-03 04:55:30 +01:00
twinaphex 2b7635e740 (Frontend) Clean up ifdefs 2013-11-03 04:46:41 +01:00
twinaphex 727dc76db8 (Console/Android) Init input driver from context driver/graphics
driver from now on - just like PC - input driver initing can be
hoisted out of global_drivers_init that way
2013-11-01 16:33:32 +01:00
Themaister 7aa8b40759 Fixup C89 for loops. 2013-10-22 21:37:56 +02:00
twinaphex e4beacd663 (RARCH_CONSOLE) Some better comments for rarch_get_environment_console 2013-10-07 15:25:09 +02:00
twinaphex 2b5220d2c7 (RARCH_CONSOLE) Refactor libretro_install_core 2013-10-07 15:22:33 +02:00
twinaphex 5cdfd2a06b (RGUI) Build fixes 2013-10-07 14:50:32 +02:00
twinaphex 14cb192f23 Add return_negative macro for entry function 2013-10-07 13:47:39 +02:00
twinaphex 0e553fd871 (Frontend) Customize returntype, function signature of main
entry function depending on platform port
2013-10-07 13:29:51 +02:00
twinaphex c052b2fb9c (RARCH_CONSOLE) Some cleanups 2013-10-06 23:14:41 +02:00
twinaphex 2f35b523cb (RARCH_CONSOLE) Dpad emulation assignment at init startup was causing the issues - we need to eliminate all this junk code and properly refactor it
for all platforms anyway, so take it out for now
2013-10-01 18:52:53 +02:00
twinaphex cf3fa07c4a (RARCH_CONSOLE) Reduce code duplication for default input binds 2013-10-01 18:38:12 +02:00
twinaphex 618bbf5aae (RARCH_CONSOLE) Reduce code duplication - after environment_get, default dirs are
created and config file is loaded
2013-10-01 17:06:14 +02:00
twinaphex 452dd2cad8 (RARCH_CONSOLE) Replace rarch_make_dir with path_mkdir 2013-10-01 17:00:49 +02:00
Themaister 57cbbde420 Create a default config file if it doesn't exist. 2013-10-01 11:57:07 +02:00
Themaister 39bf64412c Add a FIXME. 2013-09-30 18:57:34 +02:00
Themaister b3c1afe2ec Redirect keyboard events to RGUI.
Fixes issue where libretro cores receive keyboard events even though
they are not running (inside RGUI).
2013-09-30 18:53:56 +02:00
twinaphex 51ac125f65 (GX) Per-core input config loading/saving is now part of RGUI - get rid
of this
2013-09-28 22:30:02 +02:00
Themaister 914dc969c8 Stop rumbling effects when entering RGUI. 2013-09-26 14:23:55 +02:00
twinaphex 917c52b77f Cleanup to libretro_install_core 2013-09-21 13:29:33 +02:00
twinaphex 8837139271 (360) Build fixes 2013-09-15 18:49:18 +02:00
Themaister 32cae444a0 Fixup new private extensions.
Moved private stuff to libretro_private.h.
Dropped use of retro_variable (redundant and wrong type).

Didn't understand difference between EXEC_LOAD and EXEC_RELOAD at all.
Only one was used anyways ...
2013-08-25 11:10:32 +02:00
twinaphex 7c81f554af Add RETRO_ENVIRONMENT_SET_LIBRETRO_PATH to libretro API. Also gives us opportunity
to write internal code - other libretro implementations can now just implement
this environ callback and have other external frontends of their own be able to swap
in/out libretro cores from outside
2013-08-24 22:35:54 +02:00
twinaphex e8555bc1ab (frontend) make macro for main entry point function 2013-08-14 14:10:49 +02:00
meancoot 9e2e135d19 (Apple) Get rid of some hacks in the frontend code. 2013-08-14 00:48:58 -04:00
Themaister e8271031b6 Stop/start audio driver on mute. 2013-08-11 01:09:10 +02:00
Themaister 6f4f1e3079 Fixup warnings. 2013-08-11 01:08:40 +02:00
twinaphex b805efa59a (frontend) Additional param to argc/argv for iOS/OSX ports 2013-08-10 21:31:11 +02:00
twinaphex 3fda41bb8a (frontend) Get rid of one redundant RARCH_CONSOLE ifdef 2013-08-10 21:04:52 +02:00
twinaphex d640c16eb3 (Frontend) Move more platform-specific code into environment_get function
implementations
2013-08-10 20:59:10 +02:00
CatalystG 99af806505 (BlackBerry) Fixup frontend for BB10 from merge. 2013-08-09 22:48:32 -04:00
twinaphex c7d3c9e955 (Apple) Fix build 2013-07-28 23:01:16 +02:00
twinaphex 56974007ad (frontend) Cleanups to frontend.c 2013-07-28 20:57:49 +02:00
twinaphex 29b13676c5 (Apple) Implement environment_get in Apple frontend context driver 2013-07-27 17:45:56 +02:00
twinaphex ac8f57e679 Add platform_apple.c frontend driver 2013-07-27 17:40:21 +02:00
twinaphex 484c5b8341 frontend.c - cleanups 2013-07-27 17:30:05 +02:00
twinaphex ad7884e441 frontend.c - cut down on one ifdef 2013-07-27 17:18:18 +02:00
twinaphex 003635499f Add QNX frontend context file 2013-07-27 17:16:46 +02:00
twinaphex 40d5fcc472 Add shutdown to frontend_context.c - bake frontend_context in for all versions 2013-07-27 16:36:55 +02:00
twinaphex 78f757e0dc Have get_environment_settings call go through frontend_ctx function pointer 2013-07-27 13:07:26 +02:00
twinaphex 4eb283b7e3 Cleanups to frontend_ctx 2013-07-27 12:59:23 +02:00
twinaphex 1e70a46dd8 Merge platform_ files with platform_exec.c files 2013-07-27 03:59:01 +02:00
twinaphex 69381c2735 Add frontend_context.c - use for all console platform ports
(and other possible ports in future)
2013-07-26 20:58:47 +02:00
twinaphex 1549866703 (frontend.c) Remove another FIXME 2013-07-24 16:51:24 +02:00
twinaphex 1056b0b6b1 (rontend.c) Remove FIXME 2013-07-24 16:50:22 +02:00
twinaphex d3acd123f1 (APPLE) Build fixes for new frontend.c 2013-07-16 22:44:34 +02:00
twinaphex 628426f8e8 (frontend.c) Only cater to new OSX port/iOS for now 2013-07-16 21:37:26 +02:00
twinaphex d32c077ab2 (frontend) Make it still compatible with OSX SDL old-school version 2013-07-16 13:26:09 +02:00
twinaphex 3977cec315 (APPLE) Rename rarch_main_apple to rarch_main 2013-07-16 13:11:09 +02:00
twinaphex d09f9b88cf Correction to Apple conditional compile in frontend.c 2013-07-16 13:08:11 +02:00
twinaphex 30fff5049b Combine frontend.c and frontend_objc.c - meancoot - test if this
still works for OSX/iOS - can only check out later today
2013-07-16 13:06:13 +02:00
twinaphex 20654ca90b Cleanups in frontend.c 2013-07-16 12:15:28 +02:00
twinaphex d929ef9d11 (frontend.c) Fixes for RARCH_CONSOLE 2013-07-15 20:49:36 +02:00
twinaphex fe433b2322 Add new header file_ext.h - refactor out frontend_console.h 2013-07-15 14:54:40 +02:00
twinaphex 328ce6ad31 (RARCH_CONSOLE) Combine frontend_console.c with frontend.c - hope
and pray this doesn't break hard
2013-07-15 14:19:29 +02:00
twinaphex e8a3151440 (PC) Get rid of warnings 2013-07-15 13:52:59 +02:00
twinaphex a483953b5b (frontend.c) Fix Blackberry conditional compile 2013-07-15 13:51:09 +02:00
twinaphex 3e6ba96c0d Combine frontend_bbqnx.c and frontend.c 2013-07-15 13:40:47 +02:00
twinaphex e60f907ec6 Place conditional compile for frontend.c inside Griffin 2013-07-06 20:29:11 +02:00
twinaphex a442e30c71 (Playbook) Updates to RetroArch Blackberry Playbook solution 2013-07-06 19:18:41 +02:00
Themaister 74f3e8e11c Pause audio when going into RGUI. 2013-06-02 23:10:03 +02:00
Themaister f6c126ecaa Only save config if g_extern.config_path is set. 2013-05-22 19:49:51 +02:00
Themaister 6654979cbb Enable config_save_on_exit for PC.
Off by default. Phoenix fixes later.
2013-05-22 19:49:18 +02:00
twinaphex 79ea30f54f Introduce config_save_on_exit 2013-05-22 15:35:28 +02:00
Themaister 608f88bd55 Refactor initial ROM history save.
Add menu_rom_history_push_current().
2013-05-17 18:33:45 +02:00
Themaister 50bd5bb4ff Save to ROM history when loading from CLI. 2013-05-17 18:22:03 +02:00
twinaphex 63ba647018 Move all of the code to menu_common.c to avoid code duplication
across frontends
2013-04-28 16:38:13 +02:00
Themaister 13e978a2ed Avoid MODE_INIT step. It's useless. 2013-04-28 15:23:57 +02:00
twinaphex 5aa4101620 (Menu) Move MODE_LOAD_GAME mechanics to upper function rarch_main 2013-04-28 15:00:37 +02:00
Themaister 7fddcab108 If rarch_main_wrap_init fails, exit instead of crash. 2013-04-27 23:19:38 +02:00
Themaister 9e2392051d Refactor libretro device type handling.
Show devices in RGUI.
2013-04-27 12:32:30 +02:00
Themaister fa5e8b646c Preserve sram/state dir on reentrancy. 2013-04-16 12:22:27 +02:00
Themaister f968ee6527 Refactor nonblock states.
Preserve nonblock state better across reinits, etc.
Try to keep vsync in RGUI.
2013-04-14 00:56:55 +02:00
twinaphex 7465b25483 block_config_read is set to true in config_set_defaults 2013-03-22 17:01:59 +01:00
twinaphex 2e70c297e3 (Blackberry) Build fix 2013-03-20 01:17:10 +01:00
Themaister af4bbb947d Block config read after first main_init. 2013-03-17 16:02:11 +01:00
Themaister 2588e60180 Add relative-to-application querying to config. 2013-03-17 12:28:26 +01:00
Themaister 12cc1c43d4 Can almost run RGUI on PC.
Input in menu is broken. Binds are set up wrongly for PC.
2013-03-16 10:35:22 +01:00
Themaister 9370ae9dee Should fix OSX.
main() must be hacked by SDL_main.
2013-02-26 08:43:32 +01:00
twinaphex f72a505dbe Split up main() function to frontend/frontend.c 2013-02-25 07:01:16 +01:00