RetroArch/griffin/griffin.c

502 lines
13 KiB
C
Raw Normal View History

2012-04-21 21:13:50 +00:00
/* RetroArch - A frontend for libretro.
2013-01-01 00:37:37 +00:00
* Copyright (C) 2010-2013 - Hans-Kristian Arntzen
* Copyright (C) 2011-2013 - Daniel De Matteis
2012-04-13 23:02:37 +00:00
*
2012-04-21 21:13:50 +00:00
* RetroArch is free software: you can redistribute it and/or modify it under the terms
2012-04-13 23:02:37 +00:00
* 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.
*
2012-04-21 21:13:50 +00:00
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
2012-04-13 23:02:37 +00:00
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
2012-04-21 21:31:57 +00:00
* You should have received a copy of the GNU General Public License along with RetroArch.
2012-04-13 23:02:37 +00:00
* If not, see <http://www.gnu.org/licenses/>.
*/
#if defined(_XBOX)
#include "../msvc/msvc_compat.h"
2012-04-13 23:02:37 +00:00
#endif
2013-04-18 13:04:09 +00:00
#if defined(HAVE_RMENU) || defined(HAVE_RGUI) || defined(HAVE_RMENU_XUI)
#define HAVE_MENU
#endif
#ifdef __CELLOS_LV2__
#include "../ps3/altivec_mem.c"
#endif
/*============================================================
CONSOLE EXTENSIONS
============================================================ */
#ifdef RARCH_CONSOLE
#if defined(HAVE_LOGGER) && defined(__PSL1GHT__)
#include "../console/logger/psl1ght_logger.c"
2012-12-16 03:13:31 +00:00
#elif defined(HAVE_LOGGER) && !defined(ANDROID)
#include "../console/logger/logger.c"
#endif
#ifdef HW_DOL
#include "../ngc/ssaram.c"
#endif
#endif
2012-04-13 23:02:37 +00:00
#ifdef HAVE_ZLIB
#include "../file_extract.c"
2012-11-03 07:42:33 +00:00
#endif
2013-01-12 23:42:21 +00:00
/*============================================================
RLAUNCH
============================================================ */
#ifdef HAVE_RLAUNCH
#include "../tools/retrolaunch/rl_fnmatch.c"
#include "../tools/retrolaunch/sha1.c"
#include "../tools/retrolaunch/cd_detect.c"
#include "../tools/retrolaunch/parser.c"
#include "../tools/retrolaunch/main.c"
2013-01-12 23:42:21 +00:00
#endif
2012-11-03 07:42:33 +00:00
/*============================================================
PERFORMANCE
============================================================ */
#ifdef ANDROID
#include "../android/native/jni/cpufeatures.c"
2012-11-03 07:42:33 +00:00
#endif
#include "../performance.c"
2012-11-03 07:42:33 +00:00
2012-04-13 23:02:37 +00:00
/*============================================================
COMPATIBILITY
============================================================ */
#include "../compat/compat.c"
2012-04-13 23:02:37 +00:00
/*============================================================
CONFIG FILE
============================================================ */
#ifdef _XBOX
2012-04-21 21:25:32 +00:00
#undef __RARCH_POSIX_STRING_H
#undef __RARCH_MSVC_COMPAT_H
2012-04-13 23:02:37 +00:00
#undef strcasecmp
#endif
#include "../conf/config_file.c"
2013-04-04 12:15:13 +00:00
#include "../core_options.c"
#include "../core_info.c"
/*============================================================
CHEATS
============================================================ */
#include "../cheats.c"
#include "../hash.c"
2012-04-13 23:02:37 +00:00
/*============================================================
2012-05-28 03:19:04 +00:00
VIDEO CONTEXT
2012-04-13 23:02:37 +00:00
============================================================ */
2012-05-27 02:02:07 +00:00
#include "../gfx/gfx_context.c"
2012-05-27 23:15:00 +00:00
#if defined(__CELLOS_LV2__)
#include "../gfx/context/ps3_ctx.c"
#elif defined(_XBOX)
#include "../gfx/context/xdk_ctx.c"
2012-11-03 07:42:33 +00:00
#elif defined(ANDROID)
#include "../gfx/context/androidegl_ctx.c"
#elif defined(__BLACKBERRY_QNX__)
#include "../gfx/context/bbqnx_ctx.c"
#elif defined(IOS)
#include "../gfx/context/ioseagl_ctx.c"
2013-07-04 18:52:26 +00:00
#elif defined(GEKKO)
// none
#else
#include "../gfx/context/null_ctx.c"
2012-05-27 20:58:14 +00:00
#endif
2012-05-28 03:19:04 +00:00
/*============================================================
VIDEO SHADERS
============================================================ */
2013-04-07 02:17:44 +00:00
#if defined(HAVE_CG) || defined(HAVE_HLSL) || defined(HAVE_GLSL)
#include "../gfx/shader_parse.c"
#endif
2012-05-27 20:58:14 +00:00
#ifdef HAVE_CG
#include "../gfx/shader_cg.c"
#endif
2012-05-27 22:37:54 +00:00
#ifdef HAVE_HLSL
#include "../gfx/shader_hlsl.c"
2012-05-27 22:37:54 +00:00
#endif
2012-07-01 20:46:25 +00:00
#ifdef HAVE_GLSL
#include "../gfx/shader_glsl.c"
2012-07-01 20:46:25 +00:00
#endif
2012-05-28 03:19:04 +00:00
/*============================================================
VIDEO IMAGE
============================================================ */
#if defined(__CELLOS_LV2__)
#include "../ps3/image.c"
#elif defined(_XBOX1)
#include "../xdk/image.c"
#else
#include "../gfx/image.c"
#endif
#if defined(WANT_RPNG) || defined(RARCH_MOBILE)
#include "../gfx/rpng/rpng.c"
2012-05-28 03:19:04 +00:00
#endif
/*============================================================
VIDEO DRIVER
============================================================ */
2012-07-28 20:58:08 +00:00
#if defined(HAVE_OPENGL)
#include "../gfx/math/matrix.c"
2012-04-14 11:42:25 +00:00
#elif defined(GEKKO)
#ifdef HW_RVL
#include "../wii/vi_encoder.c"
#include "../wii/mem2_manager.c"
#endif
2012-04-14 11:42:25 +00:00
#endif
2012-09-17 03:31:29 +00:00
#ifdef HAVE_DYLIB
#include "../gfx/ext_gfx.c"
2012-09-17 03:31:29 +00:00
#endif
#include "../gfx/gfx_common.c"
2012-07-15 17:12:58 +00:00
#ifdef _XBOX
#include "../xdk/xdk_resources.cpp"
#endif
2013-01-10 02:34:43 +00:00
#ifdef HAVE_OPENGL
#include "../gfx/gl.c"
2013-01-10 02:34:43 +00:00
#endif
#ifdef _XBOX
#include "../xdk/xdk_d3d.cpp"
2013-01-10 02:34:43 +00:00
#endif
#if defined(GEKKO)
#include "../gx/gx_video.c"
#elif defined(SN_TARGET_PSP2)
#include "../vita/vita_video.c"
//#elif defined(PSP)
//#include "../psp1/psp1_video.c"
#elif defined(XENON)
#include "../xenon/xenon360_video.c"
2013-01-09 04:57:02 +00:00
#endif
#if defined(HAVE_NULLVIDEO)
#include "../gfx/null.c"
#endif
2012-05-27 02:02:07 +00:00
/*============================================================
FONTS
============================================================ */
#ifdef _XBOX
#define DONT_HAVE_BITMAPFONTS
#endif
#if defined(HAVE_OPENGL) || defined(HAVE_D3D8) || defined(HAVE_D3D9)
#if defined(HAVE_FREETYPE)
#include "../gfx/fonts/freetype.c"
#endif
#if !defined(DONT_HAVE_BITMAPFONTS)
#include "../gfx/fonts/fonts.c"
#include "../gfx/fonts/bitmapfont.c"
#endif
2012-12-14 23:17:43 +00:00
#ifdef HAVE_OPENGL
#include "../gfx/fonts/gl_font.c"
2012-12-14 23:17:43 +00:00
#endif
2012-12-15 02:59:31 +00:00
#ifdef _XBOX
#include "../gfx/fonts/d3d_font.c"
2012-12-15 02:59:31 +00:00
#endif
#if defined(HAVE_LIBDBGFONT)
#include "../gfx/fonts/ps_libdbgfont.c"
2012-12-15 01:59:35 +00:00
#elif defined(HAVE_OPENGL)
#include "../gfx/fonts/gl_raster_font.c"
2012-07-30 23:23:42 +00:00
#elif defined(_XBOX1)
#include "../gfx/fonts/xdk1_xfonts.c"
2012-06-24 19:25:11 +00:00
#elif defined(_XBOX360)
#include "../gfx/fonts/xdk360_fonts.cpp"
2012-04-13 23:02:37 +00:00
#endif
#endif
2012-04-13 23:02:37 +00:00
/*============================================================
INPUT
============================================================ */
#include "../input/input_common.c"
#ifdef HAVE_OVERLAY
#include "../input/overlay.c"
#endif
#if defined(__CELLOS_LV2__)
#include "../ps3/ps3_input.c"
#elif defined(SN_TARGET_PSP2) || defined(PSP)
#include "../psp/psp_input.c"
2012-04-14 11:42:25 +00:00
#elif defined(GEKKO)
#include "../gx/gx_input.c"
#elif defined(_XBOX)
#include "../xdk/xdk_xinput_input.c"
#elif defined(XENON)
#include "../xenon/xenon360_input.c"
2012-11-03 07:42:33 +00:00
#elif defined(ANDROID)
#include "../android/native/jni/input_autodetect.c"
#include "../android/native/jni/input_android.c"
#elif defined(IOS)
#include "../ios/RetroArch/input/ios_input.c"
#include "../ios/RetroArch/input/ios_joypad.c"
2013-03-24 05:07:45 +00:00
#include "../ios/RetroArch/input/BTStack/btdynamic.c"
#include "../ios/RetroArch/input/BTStack/wiimote.c"
#include "../ios/RetroArch/input/BTStack/btpad.c"
#include "../ios/RetroArch/input/BTStack/btpad_ps3.c"
#include "../ios/RetroArch/input/BTStack/btpad_wii.c"
2013-06-19 20:35:32 +00:00
#include "../ios/RetroArch/input/BTStack/btpad_queue.c"
#elif defined(__BLACKBERRY_QNX__)
#include "../blackberry-qnx/qnx_input.c"
2013-01-09 04:57:02 +00:00
#endif
#if defined(PANDORA)
#include "../input/linuxraw_input.c"
#include "../input/linuxraw_joypad.c"
#endif
2013-01-09 04:57:02 +00:00
#if defined(HAVE_NULLINPUT)
#include "../input/null.c"
#endif
2012-04-13 23:02:37 +00:00
/*============================================================
2012-05-28 03:19:04 +00:00
STATE TRACKER
2012-04-13 23:02:37 +00:00
============================================================ */
2013-02-17 12:30:02 +00:00
#ifdef _XBOX
#define DONT_HAVE_STATE_TRACKER
#endif
#ifndef DONT_HAVE_STATE_TRACKER
#include "../gfx/state_tracker.c"
#endif
2012-04-13 23:02:37 +00:00
/*============================================================
FIFO BUFFER
============================================================ */
#include "../fifo_buffer.c"
2012-04-13 23:02:37 +00:00
/*============================================================
2013-02-08 10:49:51 +00:00
AUDIO RESAMPLER
2012-04-13 23:02:37 +00:00
============================================================ */
#include "../audio/resampler.c"
#include "../audio/sinc.c"
2012-04-13 23:02:37 +00:00
/*============================================================
RSOUND
============================================================ */
#ifdef HAVE_RSOUND
#include "../deps/librsound/librsound.c"
#include "../audio/rsound.c"
2012-04-13 23:02:37 +00:00
#endif
/*============================================================
AUDIO UTILS
============================================================ */
#include "../audio/utils.c"
2012-04-13 23:02:37 +00:00
/*============================================================
AUDIO
============================================================ */
#if defined(__CELLOS_LV2__)
#include "../ps3/ps3_audio.c"
#elif defined(XENON)
#include "../xenon/xenon360_audio.c"
2012-04-14 11:42:25 +00:00
#elif defined(GEKKO)
#include "../gx/gx_audio.c"
#endif
#ifdef HAVE_XAUDIO
#include "../audio/xaudio.c"
#include "../audio/xaudio-c/xaudio-c.cpp"
#endif
#ifdef HAVE_DSOUND
#include "../audio/dsound.c"
#endif
#ifdef HAVE_SL
#include "../audio/opensl.c"
2013-01-09 04:57:02 +00:00
#endif
#ifdef HAVE_ALSA
#ifdef __QNX__
#include "../blackberry-qnx/alsa_qsa.c"
#else
#include "../audio/alsa.c"
#include "../audio/alsathread.c"
#endif
#endif
#ifdef HAVE_AL
#include "../audio/openal.c"
#endif
#ifdef HAVE_COREAUDIO
#include "../audio/coreaudio.c"
#endif
2013-01-09 04:57:02 +00:00
#if defined(HAVE_NULLAUDIO)
#include "../audio/null.c"
2012-07-08 16:30:19 +00:00
#endif
2012-09-17 03:31:29 +00:00
#ifdef HAVE_DYLIB
#include "../audio/ext_audio.c"
2012-09-17 03:31:29 +00:00
#endif
/*============================================================
DRIVERS
============================================================ */
#include "../driver.c"
/*============================================================
SCALERS
============================================================ */
#include "../gfx/scaler/filter.c"
#include "../gfx/scaler/pixconv.c"
#include "../gfx/scaler/scaler.c"
#include "../gfx/scaler/scaler_int.c"
2012-04-13 23:02:37 +00:00
/*============================================================
DYNAMIC
============================================================ */
#include "../dynamic.c"
2013-04-14 14:24:19 +00:00
#include "../dynamic_dummy.c"
2012-04-13 23:02:37 +00:00
/*============================================================
FILE
============================================================ */
#include "../file.c"
#include "../file_path.c"
2012-04-13 23:02:37 +00:00
/*============================================================
MESSAGE
============================================================ */
#include "../message.c"
2012-04-13 23:02:37 +00:00
/*============================================================
PATCH
============================================================ */
#include "../patch.c"
2012-04-13 23:02:37 +00:00
/*============================================================
SETTINGS
============================================================ */
#include "../settings.c"
2012-04-13 23:02:37 +00:00
/*============================================================
REWIND
============================================================ */
#include "../rewind.c"
2012-04-13 23:02:37 +00:00
/*============================================================
MAIN
============================================================ */
2013-01-08 05:26:02 +00:00
#if defined(XENON)
#include "../frontend/frontend_xenon.c"
#elif defined(RARCH_CONSOLE) || defined(PSP)
#include "../frontend/frontend_console.c"
2013-02-25 06:29:09 +00:00
#elif defined(__BLACKBERRY_QNX__)
#include "../frontend/frontend_bbqnx.c"
2012-11-03 07:42:33 +00:00
#elif defined(ANDROID)
#include "../frontend/frontend_android.c"
#elif defined(__APPLE__)
#include "../frontend/frontend_objc.c"
2012-04-13 23:02:37 +00:00
#endif
#if defined(RARCH_CONSOLE) || defined(__QNX__) && !defined(HAVE_BB10) || defined(PANDORA)
#include "../frontend/frontend.c"
#endif
2013-02-25 06:29:09 +00:00
2012-04-13 23:02:37 +00:00
/*============================================================
2012-04-22 00:06:34 +00:00
RETROARCH
2012-04-13 23:02:37 +00:00
============================================================ */
#include "../retroarch.c"
2012-04-13 23:02:37 +00:00
/*============================================================
THREAD
============================================================ */
#if defined(HAVE_THREADS) && defined(XENON)
#include "../thread/xenon_sdl_threads.c"
2013-02-16 11:30:26 +00:00
#elif defined(HAVE_THREADS)
#include "../thread.c"
#include "../gfx/thread_wrapper.c"
2013-02-17 01:00:51 +00:00
#ifndef RARCH_CONSOLE
#include "../autosave.c"
2012-04-14 12:08:00 +00:00
#endif
#endif
2012-04-13 23:02:37 +00:00
2013-02-16 11:30:26 +00:00
2012-04-13 23:02:37 +00:00
/*============================================================
NETPLAY
============================================================ */
2012-05-28 03:19:04 +00:00
#ifdef HAVE_NETPLAY
#include "../netplay.c"
2012-04-14 12:08:00 +00:00
#endif
2012-04-13 23:02:37 +00:00
/*============================================================
SCREENSHOTS
============================================================ */
#if defined(_XBOX1)
#include "../xdk/screenshot_xdk1.c"
#elif defined(HAVE_SCREENSHOTS)
#include "../screenshot.c"
#endif
2012-04-13 23:02:37 +00:00
/*============================================================
MENU
============================================================ */
2013-04-18 13:04:09 +00:00
#ifdef HAVE_MENU
#include "../frontend/menu/menu_common.c"
2013-04-28 01:52:48 +00:00
#include "../frontend/menu/history.c"
#if defined(HAVE_RMENU_GUI)
#include "../frontend/menu/rmenu.c"
2013-04-18 13:04:09 +00:00
#elif defined(HAVE_RGUI)
#include "../frontend/menu/rgui.c"
2013-04-18 13:04:09 +00:00
#elif defined(HAVE_RMENU_XUI)
#include "../frontend/menu/rmenu_xui.cpp"
#endif
2013-04-18 13:04:09 +00:00
#endif
2012-11-20 02:40:39 +00:00
#ifdef __cplusplus
extern "C" {
#endif
/*============================================================
RZLIB
============================================================ */
2013-02-16 20:43:29 +00:00
#ifdef WANT_MINIZ
#include "../deps/miniz/miniz.c"
#include "../deps/minizip/unzip.c"
#endif
2012-11-20 02:40:39 +00:00
/*============================================================
XML
============================================================ */
#define RXML_LIBXML2_COMPAT
#include "../compat/rxml/rxml.c"
2012-11-20 02:40:39 +00:00
#ifdef __cplusplus
}
2013-01-09 04:57:02 +00:00
#endif