diff --git a/driver.c b/driver.c index ad84817f55..009aaf9daa 100644 --- a/driver.c +++ b/driver.c @@ -17,6 +17,7 @@ #include "driver.h" #include "general.h" +#include "retroarch.h" #include "libretro.h" #include #include diff --git a/dynamic.c b/dynamic.c index a097d0a101..1125954e05 100644 --- a/dynamic.c +++ b/dynamic.c @@ -30,6 +30,7 @@ #include #include "libretro_private.h" #include "dynamic_dummy.h" +#include "retroarch.h" #ifdef NEED_DYNAMIC #ifdef _WIN32 diff --git a/frontend/frontend.c b/frontend/frontend.c index 8ad35366bc..7196c95999 100644 --- a/frontend/frontend.c +++ b/frontend/frontend.c @@ -19,6 +19,7 @@ #include "frontend.h" #include "../general.h" #include "../settings.h" +#include "../retroarch.h" #include #if defined(RARCH_CONSOLE) || defined(RARCH_MOBILE) diff --git a/general.c b/general.c index 8aa402447b..fde0dafee7 100644 --- a/general.c +++ b/general.c @@ -17,6 +17,7 @@ #include "general.h" #include "settings.h" +#include "retroarch.h" #include "dynamic.h" #include diff --git a/general.h b/general.h index a91e80b40e..1295c63f9c 100644 --- a/general.h +++ b/general.h @@ -837,17 +837,14 @@ extern struct global g_extern; extern struct defaults g_defaults; /* Public functions. */ - -void rarch_main_state_new(void); -void rarch_main_state_free(void); - int rarch_main(int argc, char *argv[]); + bool rarch_replace_config(const char *path); + void rarch_main_init_wrap(const struct rarch_main_wrap *args, int *argc, char **argv); + int rarch_main_init(int argc, char *argv[]); -void rarch_main_set_state(unsigned action); -bool rarch_main_command(unsigned action); /** * rarch_main_iterate: @@ -861,16 +858,9 @@ bool rarch_main_command(unsigned action); * to wake up the loop. * * -1 if we forcibly quit out of the RetroArch iteration loop. - * **/ int rarch_main_iterate(void); -void rarch_main_deinit(void); -void rarch_render_cached_frame(void); -void rarch_disk_control_set_eject(bool state, bool log); -void rarch_disk_control_set_index(unsigned index); -void rarch_disk_control_append_image(const char *path); - void rarch_playlist_load_content(content_playlist_t *playlist, unsigned index); @@ -881,9 +871,6 @@ int rarch_defer_core(core_info_list_t *data, void rarch_update_system_info(struct retro_system_info *info, bool *load_no_content); -void rarch_recording_dump_frame(const void *data, unsigned width, - unsigned height, size_t pitch); - #ifdef __cplusplus } #endif diff --git a/gfx/exynos_gfx.c b/gfx/exynos_gfx.c index c7dca33640..d7fb4778d8 100644 --- a/gfx/exynos_gfx.c +++ b/gfx/exynos_gfx.c @@ -31,6 +31,7 @@ #include #include "../general.h" +#include "../retroarch.h" #include "gfx_common.h" #include "fonts/fonts.h" diff --git a/gfx/gl.c b/gfx/gl.c index 998a3fe2c2..5bdbb5832a 100644 --- a/gfx/gl.c +++ b/gfx/gl.c @@ -29,6 +29,7 @@ #include #include #include "../general.h" +#include "../retroarch.h" #include #ifdef HAVE_CONFIG_H diff --git a/gfx/omap_gfx.c b/gfx/omap_gfx.c index d3b0e1d1e4..e9fb32fae4 100644 --- a/gfx/omap_gfx.c +++ b/gfx/omap_gfx.c @@ -18,6 +18,7 @@ #include #include #include "../general.h" +#include "../retroarch.h" #include #include "gfx_common.h" #include "gfx_context.h" diff --git a/gfx/sdl2_gfx.c b/gfx/sdl2_gfx.c index 4eadf93336..7df4d44b43 100644 --- a/gfx/sdl2_gfx.c +++ b/gfx/sdl2_gfx.c @@ -20,6 +20,7 @@ #include #include #include "../general.h" +#include "../retroarch.h" #include #include "gfx_common.h" #include "gfx_context.h" diff --git a/gfx/vg.c b/gfx/vg.c index 842d682b0d..a5fab56b20 100644 --- a/gfx/vg.c +++ b/gfx/vg.c @@ -23,6 +23,7 @@ #include #include "../libretro.h" #include "../general.h" +#include "../retroarch.h" #include "../driver.h" #include "../performance.h" #include "fonts/fonts.h" diff --git a/libretro_version_1.c b/libretro_version_1.c index 86a1479d02..096688ca1c 100644 --- a/libretro_version_1.c +++ b/libretro_version_1.c @@ -25,6 +25,7 @@ #include #include #include "general.h" +#include "retroarch.h" #include "performance.h" #include "input/keyboard_line.h" #include "audio/utils.h" diff --git a/menu/backend/menu_common_backend.c b/menu/backend/menu_common_backend.c index dac9de806f..8176ae9eed 100644 --- a/menu/backend/menu_common_backend.c +++ b/menu/backend/menu_common_backend.c @@ -25,6 +25,7 @@ #include "../menu_input_line_cb.h" #include "../../input/input_autodetect.h" +#include "../../retroarch.h" #include "../../config.def.h" static int menu_message_toggle(unsigned action) diff --git a/menu/backend/menu_lakka_backend.c b/menu/backend/menu_lakka_backend.c index 3d9da2df74..18011267c5 100644 --- a/menu/backend/menu_lakka_backend.c +++ b/menu/backend/menu_lakka_backend.c @@ -33,6 +33,7 @@ #include "../../input/keyboard_line.h" #include "../../settings_data.h" +#include "../../retroarch.h" #include "../disp/lakka.h" #include "../menu_animation.h" diff --git a/menu/disp/rgui.c b/menu/disp/rgui.c index 417d133e74..d78ad57813 100644 --- a/menu/disp/rgui.c +++ b/menu/disp/rgui.c @@ -23,6 +23,7 @@ #include "../menu_common.h" #include "../../general.h" +#include "../../retroarch.h" #include #include diff --git a/menu/menu_common.c b/menu/menu_common.c index 9d42856750..9ac2993001 100644 --- a/menu/menu_common.c +++ b/menu/menu_common.c @@ -21,6 +21,7 @@ #include "menu_shader.h" #include "../dynamic.h" #include "../frontend/frontend.h" +#include "../../retroarch.h" #include static void draw_frame(void) diff --git a/menu/menu_entries_cbs.c b/menu/menu_entries_cbs.c index d59ed590bc..ea4150ef85 100644 --- a/menu/menu_entries_cbs.c +++ b/menu/menu_entries_cbs.c @@ -25,6 +25,7 @@ #include "../file_ext.h" #include "../config.def.h" #include "../cheats.h" +#include "../retroarch.h" #include diff --git a/retroarch.c b/retroarch.c index 582fba2d66..99ae779be2 100644 --- a/retroarch.c +++ b/retroarch.c @@ -28,6 +28,7 @@ #include #include #include "general.h" +#include "retroarch.h" #include "settings.h" #include #include "screenshot.h" diff --git a/retroarch.h b/retroarch.h new file mode 100644 index 0000000000..e5a30a7b0e --- /dev/null +++ b/retroarch.h @@ -0,0 +1,49 @@ +/* RetroArch - A frontend for libretro. + * Copyright (C) 2010-2014 - Hans-Kristian Arntzen + * Copyright (C) 2011-2015 - Daniel De Matteis + * + * RetroArch is free software: you can redistribute it and/or modify it under the terms + * of the GNU General Public License as published by the Free Software Found- + * ation, either version 3 of the License, or (at your option) any later version. + * + * RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with RetroArch. + * If not, see . + */ + +#ifndef __RETROARCH_H +#define __RETROARCH_H + +#ifdef __cplusplus +extern "C" { +#endif + +void rarch_main_state_new(void); + +void rarch_main_state_free(void); + +void rarch_main_set_state(unsigned action); + +bool rarch_main_command(unsigned action); + +void rarch_main_deinit(void); + +void rarch_render_cached_frame(void); + +void rarch_disk_control_set_eject(bool state, bool log); + +void rarch_disk_control_set_index(unsigned index); + +void rarch_disk_control_append_image(const char *path); + +void rarch_recording_dump_frame(const void *data, unsigned width, + unsigned height, size_t pitch); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/runloop.c b/runloop.c index c143011542..c0a89555ea 100644 --- a/runloop.c +++ b/runloop.c @@ -21,6 +21,7 @@ #include "performance.h" #include "retroarch_logger.h" #include "intl/intl.h" +#include "retroarch.h" #ifdef HAVE_MENU #include "menu/menu_common.h" diff --git a/settings_data.c b/settings_data.c index 8b82ae69cd..399cb02b52 100644 --- a/settings_data.c +++ b/settings_data.c @@ -25,6 +25,7 @@ #include "retroarch_logger.h" #include "file_ext.h" #include "settings.h" +#include "retroarch.h" #if defined(__CELLOS_LV2__) #include