Commit Graph

296 Commits

Author SHA1 Message Date
twinaphex 908164868f Make 'argc' into int pointer so that we can modify argc inside
get_environment callback
2014-06-01 05:56:38 +02:00
twinaphex 237ac1aa56 Add default_paths.audio_filter_dir 2014-06-01 05:52:16 +02:00
twinaphex 4d63b1d391 Move default_paths to settings.c 2014-06-01 05:06:55 +02:00
twinaphex 6fa7e1894e (GX) Move Wii-specific hack done to argc/argv to environment_get
function (platform_gx.c)
2014-06-01 04:42:32 +02:00
twinaphex 08c8e5fb5f Reduce amount of includes for rarch_console.h 2014-06-01 03:08:26 +02:00
Themaister 206ea8012f Don't completely reinit menu driver unless we're killing Rarch. 2014-05-31 23:54:07 +02:00
Toad King d77c551aad [WII] fix loaders/history/core detect 2014-05-31 16:27:35 -04:00
twinaphex 521c5e077f (Frontend) Add init_msg_queue after rarch_main_clear_state 2014-05-31 16:31:03 +02:00
twinaphex 7ee81ef4d5 Build fix 2014-05-31 08:17:18 +02:00
twinaphex da51530f0e (RARCH_CONSOLE) Setup default_paths properly 2014-05-31 08:15:57 +02:00
Toad King 8d7bbdce95 frontend.c cleanup 2014-05-30 20:21:23 -04:00
twinaphex b2d9c60613 (Menu) Don't pass menu data to menu_iterate
(Menu) Don't pass menu data to backend - postprocess
2014-05-30 20:53:10 +02:00
twinaphex c57f780d9f (Menu) Start undoing passing rgui pointer to every menu-related
function - the only functions where it should actually pass a
pointer instead of just grabbing a pointer from menu.driver should
be in the menu init/deinit functions
2014-05-30 19:34:01 +02:00
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