RetroArch/griffin/griffin.c

1081 lines
30 KiB
C
Raw Normal View History

2012-04-21 21:13:50 +00:00
/* RetroArch - A frontend for libretro.
2014-01-01 00:50:59 +00:00
* Copyright (C) 2010-2014 - Hans-Kristian Arntzen
2016-01-10 03:41:52 +00:00
* Copyright (C) 2011-2016 - 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(HAVE_CG) || defined(HAVE_HLSL) || defined(HAVE_GLSL)
#define HAVE_SHADERS
#endif
#if defined(HAVE_ZLIB) || defined(HAVE_7ZIP)
#define HAVE_COMPRESSION
#endif
2014-10-21 06:02:40 +00:00
#include <compat/posix_string.h>
2012-04-13 23:02:37 +00:00
#if _MSC_VER
#include "../libretro-common/compat/compat_snprintf.c"
#endif
2015-11-23 11:03:38 +00:00
#include "../verbosity.c"
#if defined(HAVE_LOGGER) && !defined(ANDROID)
#include "../network/net_logger.c"
#endif
/*============================================================
CONSOLE EXTENSIONS
============================================================ */
#ifdef RARCH_CONSOLE
#ifdef HW_DOL
#include "../memory/ngc/ssaram.c"
#endif
#endif
2012-04-13 23:02:37 +00:00
/*============================================================
ALGORITHMS
============================================================ */
#include "../libretro-common/algorithms/mismatch.c"
/*============================================================
ARCHIVE FILE
============================================================ */
2016-09-18 14:49:09 +00:00
#include "../libretro-common/file/archive_file.c"
#ifdef HAVE_ZLIB
#include "../libretro-common/file/archive_file_zlib.c"
2012-11-03 07:42:33 +00:00
#endif
2016-09-18 14:49:09 +00:00
#ifdef HAVE_7ZIP
#include "../libretro-common/file/archive_file_7z.c"
#endif
2015-11-16 06:26:02 +00:00
/*============================================================
ENCODINGS
============================================================ */
#include "../libretro-common/encodings/encoding_utf.c"
2016-09-18 16:50:33 +00:00
#include "../libretro-common/encodings/encoding_crc32.c"
2015-11-16 06:26:02 +00:00
2012-11-03 07:42:33 +00:00
/*============================================================
PERFORMANCE
============================================================ */
#include "../libretro-common/features/features_cpu.c"
2016-05-10 06:53:14 +00:00
#include "../performance_counters.c"
2012-11-03 07:42:33 +00:00
2012-04-13 23:02:37 +00:00
/*============================================================
COMPATIBILITY
============================================================ */
2015-10-26 01:41:41 +00:00
#ifndef HAVE_GETOPT_LONG
#include "../compat/compat_getopt.c"
#endif
#ifndef HAVE_STRCASESTR
#include "../compat/compat_strcasestr.c"
#endif
#ifndef HAVE_STRL
#include "../compat/compat_strl.c"
#endif
2015-11-01 17:52:41 +00:00
#if defined(_WIN32) && !defined(_XBOX)
#include "../compat/compat_posix_string.c"
#endif
2016-03-03 01:08:47 +00:00
#if defined(WANT_IFADDRS)
#include "../compat/compat_ifaddrs.c"
#endif
#include "../libretro-common/compat/compat_fnmatch.c"
2015-09-02 15:06:02 +00:00
#include "../libretro-common/memmap/memalign.c"
2012-04-13 23:02:37 +00:00
/*============================================================
CONFIG FILE
============================================================ */
#if defined(_MSC_VER)
2014-10-21 04:55:26 +00:00
#undef __LIBRETRO_SDK_COMPAT_POSIX_STRING_H
#undef __LIBRETRO_SDK_COMPAT_MSVC_H
2012-04-13 23:02:37 +00:00
#undef strcasecmp
#endif
#include "../libretro-common/file/config_file.c"
#include "../config_file_userdata.c"
2016-05-09 23:25:47 +00:00
#include "../managers/core_option_manager.c"
/*============================================================
ACHIEVEMENTS
============================================================ */
#if defined(HAVE_CHEEVOS) && defined(HAVE_THREADS)
2016-09-29 19:07:10 +00:00
#if !defined(HAVE_NETWORKING)
#include "../libretro-common/net/net_http.c"
#endif
#include "../libretro-common/formats/json/jsonsax.c"
2016-05-09 15:47:45 +00:00
#include "../network/net_http_special.c"
#include "../cheevos.c"
#endif
/*============================================================
MD5
============================================================ */
#if (defined(HAVE_CHEEVOS) && defined(HAVE_THREADS)) || (defined(HAVE_HTTPSERVER) && defined(HAVE_ZLIB))
#include "../libretro-common/utils/md5.c"
#endif
/*============================================================
CHEATS
============================================================ */
#include "../managers/cheat_manager.c"
#include "../libretro-common/hash/rhash.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/video_context_driver.c"
2015-01-12 21:19:31 +00:00
#include "../gfx/drivers_context/gfx_null_ctx.c"
2012-05-27 23:15:00 +00:00
#if defined(__CELLOS_LV2__)
2015-01-12 21:19:31 +00:00
#include "../gfx/drivers_context/ps3_ctx.c"
2012-11-03 07:42:33 +00:00
#elif defined(ANDROID)
#include "../gfx/drivers_context/android_ctx.c"
#elif defined(__QNX__)
2015-01-12 21:19:31 +00:00
#include "../gfx/drivers_context/bbqnx_ctx.c"
#elif defined(EMSCRIPTEN)
2015-01-12 21:19:31 +00:00
#include "../gfx/drivers_context/emscriptenegl_ctx.c"
2015-04-26 01:59:55 +00:00
#elif defined(__APPLE__) && !defined(TARGET_IPHONE_SIMULATOR) && !defined(TARGET_OS_IPHONE)
2015-04-26 01:48:35 +00:00
#include "../gfx/drivers_context/cgl_ctx.c"
2012-05-27 20:58:14 +00:00
#endif
2016-09-03 05:10:55 +00:00
2016-03-01 21:25:53 +00:00
#if defined(HAVE_VIVANTE_FBDEV)
#include "../gfx/drivers_context/vivante_fbdev_ctx.c"
#endif
#if defined(HAVE_OPENDINGUX_FBDEV)
#include "../gfx/drivers_context/opendingux_fbdev_ctx.c"
#endif
2016-02-17 04:22:17 +00:00
#ifdef HAVE_WAYLAND
#include "../gfx/drivers_context/wayland_ctx.c"
#endif
#ifdef HAVE_DRM
#include "../gfx/common/drm_common.c"
#endif
2013-07-28 17:55:18 +00:00
2016-02-17 04:22:17 +00:00
#ifdef HAVE_VULKAN
#include "../gfx/common/vulkan_common.c"
#include "../libretro-common/vulkan/vulkan_symbol_wrapper.c"
2016-08-27 23:48:13 +00:00
#ifdef HAVE_VULKAN_DISPLAY
#include "../gfx/drivers_context/khr_display_ctx.c"
#endif
2016-02-17 04:22:17 +00:00
#endif
#if defined(HAVE_KMS)
2016-02-22 12:01:16 +00:00
#include "../gfx/drivers_context/drm_ctx.c"
#endif
2016-02-22 12:01:16 +00:00
#if defined(HAVE_EGL)
#include "../gfx/common/egl_common.c"
#if defined(HAVE_VIDEOCORE)
2015-01-12 21:19:31 +00:00
#include "../gfx/drivers_context/vc_egl_ctx.c"
2012-05-27 20:58:14 +00:00
#endif
#endif
2015-04-16 20:39:28 +00:00
#if defined(HAVE_X11)
2015-04-09 03:02:57 +00:00
#include "../gfx/common/x11_common.c"
2015-04-16 20:39:28 +00:00
#ifndef HAVE_OPENGLES
2016-02-20 04:48:45 +00:00
#include "../gfx/drivers_context/x_ctx.c"
2015-04-16 20:39:28 +00:00
#endif
#ifdef HAVE_EGL
#include "../gfx/drivers_context/xegl_ctx.c"
#endif
#endif
2012-05-27 20:58:14 +00:00
2012-05-28 03:19:04 +00:00
/*============================================================
VIDEO SHADERS
============================================================ */
2014-10-02 11:27:35 +00:00
#ifdef HAVE_SHADERS
#include "../gfx/video_shader_driver.c"
#include "../gfx/video_shader_parse.c"
#include "../gfx/drivers_shader/shader_null.c"
2012-05-27 20:58:14 +00:00
#ifdef HAVE_CG
2014-10-02 13:19:21 +00:00
#ifdef HAVE_OPENGL
#include "../gfx/drivers_shader/shader_gl_cg.c"
2014-10-02 13:19:21 +00:00
#endif
#endif
2012-05-27 22:37:54 +00:00
#ifdef HAVE_HLSL
#include "../gfx/drivers_shader/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/drivers_shader/shader_glsl.c"
2012-07-01 20:46:25 +00:00
#endif
#endif
2012-05-28 03:19:04 +00:00
/*============================================================
VIDEO IMAGE
============================================================ */
#include "../libretro-common/formats/image_texture.c"
2015-11-09 00:19:09 +00:00
2016-05-11 19:57:41 +00:00
#ifdef HAVE_RTGA
2015-09-19 13:36:39 +00:00
#include "../libretro-common/formats/tga/rtga.c"
2016-05-11 19:57:41 +00:00
#endif
2015-04-19 14:55:03 +00:00
2015-06-28 16:55:00 +00:00
#ifdef HAVE_IMAGEVIEWER
2016-01-21 18:53:52 +00:00
#include "../cores/libretro-imageviewer/image_core.c"
2015-06-28 16:55:00 +00:00
#endif
#include "../libretro-common/formats/image_transfer.c"
2015-04-19 14:55:03 +00:00
#ifdef HAVE_RPNG
2015-09-18 23:40:29 +00:00
#include "../libretro-common/formats/png/rpng.c"
2015-02-20 22:38:48 +00:00
#include "../libretro-common/formats/png/rpng_encode.c"
#endif
2016-05-11 19:27:17 +00:00
#ifdef HAVE_RJPEG
2016-05-07 02:33:54 +00:00
#include "../libretro-common/formats/jpeg/rjpeg.c"
2016-05-11 19:27:17 +00:00
#endif
2016-05-18 11:28:20 +00:00
#ifdef HAVE_RBMP
2016-05-17 19:21:37 +00:00
#include "../libretro-common/formats/bmp/rbmp.c"
2015-09-19 02:40:30 +00:00
#include "../libretro-common/formats/bmp/rbmp_encode.c"
#endif
2012-05-28 03:19:04 +00:00
/*============================================================
VIDEO DRIVER
============================================================ */
2015-11-08 22:30:21 +00:00
#include "../libretro-common/gfx/math/matrix_4x4.c"
#include "../libretro-common/gfx/math/matrix_3x3.c"
2016-06-27 08:56:30 +00:00
#include "../libretro-common/gfx/math/vector_2.c"
#include "../libretro-common/gfx/math/vector_3.c"
#include "../libretro-common/gfx/math/vector_4.c"
2015-11-08 22:30:21 +00:00
2015-04-23 00:26:09 +00:00
#if defined(GEKKO)
#ifdef HW_RVL
2015-09-20 13:05:30 +00:00
#include "../gfx/drivers/gx_gfx_vi_encoder.c"
#include "../memory/wii/mem2_manager.c"
#endif
2012-04-14 11:42:25 +00:00
#endif
2016-09-03 05:10:55 +00:00
#ifdef HAVE_SDL2
#include "../gfx/drivers/sdl2_gfx.c"
#endif
#ifdef HAVE_VG
#include "../gfx/drivers/vg.c"
#endif
#ifdef HAVE_OMAP
#include "../gfx/drivers/omap_gfx.c"
#endif
2016-02-17 04:22:17 +00:00
#ifdef HAVE_VULKAN
#include "../gfx/drivers/vulkan.c"
#endif
#if defined(HAVE_PLAIN_DRM)
2016-07-03 08:37:07 +00:00
#include "../gfx/drivers/drm_gfx.c"
#endif
2013-01-10 02:34:43 +00:00
#ifdef HAVE_OPENGL
2015-11-17 07:01:33 +00:00
#include "../gfx/common/gl_common.c"
#include "../gfx/drivers/gl.c"
2016-10-24 02:06:49 +00:00
#include "../libretro-common/gfx/gl_capabilities.c"
#include "../gfx/drivers/gl_renderchains/render_chain_gl_legacy.c"
2013-08-11 13:06:42 +00:00
2013-08-11 13:10:56 +00:00
#ifndef HAVE_PSGL
#include "../libretro-common/glsym/rglgen.c"
2013-07-05 17:29:48 +00:00
#ifdef HAVE_OPENGLES2
#include "../libretro-common/glsym/glsym_es2.c"
2013-07-05 17:29:48 +00:00
#else
#include "../libretro-common/glsym/glsym_gl.c"
2013-07-05 17:29:48 +00:00
#endif
2013-01-10 02:34:43 +00:00
#endif
2013-08-11 13:06:42 +00:00
#endif
#ifdef HAVE_XVIDEO
#include "../gfx/drivers/xvideo.c"
#endif
#if defined(HAVE_D3D)
2016-08-01 20:05:57 +00:00
#include "../gfx/drivers/d3d_renderchains/render_chain_driver.c"
#include "../gfx/drivers/d3d_renderchains/render_chain_null.c"
2013-01-10 02:34:43 +00:00
#endif
#if defined(GEKKO)
2015-01-12 05:55:31 +00:00
#include "../gfx/drivers/gx_gfx.c"
2013-07-27 18:47:00 +00:00
#elif defined(PSP)
2015-01-12 05:55:31 +00:00
#include "../gfx/drivers/psp1_gfx.c"
2015-08-30 18:04:52 +00:00
#elif defined(HAVE_VITA2D)
2016-07-31 22:50:13 +00:00
#include "../deps/libvita2d/source/vita2d.c"
#include "../deps/libvita2d/source/vita2d_texture.c"
#include "../deps/libvita2d/source/vita2d_draw.c"
#include "../deps/libvita2d/source/utils.c"
2015-08-30 18:04:52 +00:00
#include "../gfx/drivers/vita2d_gfx.c"
2015-04-01 21:14:13 +00:00
#elif defined(_3DS)
#include "../gfx/drivers/ctr_gfx.c"
#elif defined(XENON)
#include "../gfx/drivers/xenon360_gfx.c"
2013-01-09 04:57:02 +00:00
#endif
#include "../gfx/drivers/nullgfx.c"
2012-05-27 02:02:07 +00:00
/*============================================================
FONTS
============================================================ */
2015-01-12 22:34:10 +00:00
#include "../gfx/drivers_font_renderer/bitmapfont.c"
#include "../gfx/font_driver.c"
2015-07-14 15:05:08 +00:00
#if defined(HAVE_STB_FONT)
#include "../gfx/drivers_font_renderer/stb.c"
#endif
#if defined(HAVE_FREETYPE)
2015-01-12 22:34:10 +00:00
#include "../gfx/drivers_font_renderer/freetype.c"
#endif
2015-04-19 14:18:58 +00:00
#if defined(__APPLE__) && defined(HAVE_CORETEXT)
2015-01-12 22:34:10 +00:00
#include "../gfx/drivers_font_renderer/coretext.c"
#endif
#if defined(HAVE_LIBDBGFONT)
2015-01-12 22:38:21 +00:00
#include "../gfx/drivers_font/ps_libdbgfont.c"
2014-09-25 04:56:23 +00:00
#endif
2015-04-23 00:04:32 +00:00
#if defined(HAVE_OPENGL)
2015-01-12 22:38:21 +00:00
#include "../gfx/drivers_font/gl_raster_font.c"
2014-09-25 04:56:23 +00:00
#endif
#if defined(_XBOX1)
2015-01-12 22:38:21 +00:00
#include "../gfx/drivers_font/xdk1_xfonts.c"
2012-04-13 23:02:37 +00:00
#endif
2015-09-30 23:10:26 +00:00
#if defined(VITA)
#include "../gfx/drivers_font/vita2d_font.c"
#endif
#if defined(_3DS)
#include "../gfx/drivers_font/ctr_font.c"
#endif
2016-02-17 04:22:17 +00:00
#if defined(HAVE_VULKAN)
#include "../gfx/drivers_font/vulkan_raster_font.c"
#endif
2012-04-13 23:02:37 +00:00
/*============================================================
INPUT
============================================================ */
#include "../input/input_autodetect.c"
#include "../input/input_joypad_driver.c"
#include "../input/input_config.c"
#include "../input/input_keymaps.c"
2015-01-19 17:16:34 +00:00
#include "../input/input_remapping.c"
2015-11-28 15:13:16 +00:00
#include "../input/input_keyboard.c"
#ifdef HAVE_OVERLAY
#include "../input/input_overlay.c"
#include "../tasks/task_overlay.c"
#endif
2015-11-29 02:34:09 +00:00
#ifdef HAVE_X11
#include "../input/common/x11_input_common.c"
#endif
#include "../input/input_autodetect_builtin.c"
2016-09-03 05:02:05 +00:00
#if defined(__CELLOS_LV2__)
2015-01-12 05:16:52 +00:00
#include "../input/drivers/ps3_input.c"
#include "../input/drivers_joypad/ps3_joypad.c"
#elif defined(SN_TARGET_PSP2) || defined(PSP) || defined(VITA)
2015-01-12 05:16:52 +00:00
#include "../input/drivers/psp_input.c"
#include "../input/drivers_joypad/psp_joypad.c"
2015-11-16 00:14:43 +00:00
#elif defined(HAVE_COCOA) || defined(HAVE_COCOATOUCH)
#include "../input/drivers/cocoa_input.c"
2015-04-01 21:14:13 +00:00
#elif defined(_3DS)
#include "../input/drivers/ctr_input.c"
#include "../input/drivers_joypad/ctr_joypad.c"
2012-04-14 11:42:25 +00:00
#elif defined(GEKKO)
2015-01-12 05:16:52 +00:00
#include "../input/drivers/gx_input.c"
#include "../input/drivers_joypad/gx_joypad.c"
#elif defined(_XBOX)
2015-01-12 05:16:52 +00:00
#include "../input/drivers/xdk_xinput_input.c"
#include "../input/drivers_joypad/xdk_joypad.c"
#elif defined(XENON)
2015-01-12 05:16:52 +00:00
#include "../input/drivers/xenon360_input.c"
2012-11-03 07:42:33 +00:00
#elif defined(ANDROID)
2015-01-12 05:16:52 +00:00
#include "../input/drivers/android_input.c"
2015-11-29 15:18:29 +00:00
#include "../input/drivers_keyboard/keyboard_event_android.c"
#include "../input/drivers_joypad/android_joypad.c"
#elif defined(__QNX__)
2015-01-12 05:16:52 +00:00
#include "../input/drivers/qnx_input.c"
#include "../input/drivers_joypad/qnx_joypad.c"
#elif defined(EMSCRIPTEN)
2015-01-12 05:16:52 +00:00
#include "../input/drivers/rwebinput_input.c"
2013-01-09 04:57:02 +00:00
#endif
#ifdef HAVE_DINPUT
2015-01-12 05:16:52 +00:00
#include "../input/drivers/dinput.c"
#include "../input/drivers_joypad/dinput_joypad.c"
#endif
#ifdef HAVE_XINPUT
#include "../input/drivers_joypad/xinput_joypad.c"
#endif
2015-04-01 21:14:13 +00:00
#if defined(__linux__) && !defined(ANDROID)
2015-11-17 05:46:32 +00:00
#include "../input/common/linux_common.c"
2015-11-30 17:05:10 +00:00
#include "../input/common/epoll_common.c"
2015-01-12 05:16:52 +00:00
#include "../input/drivers/linuxraw_input.c"
#include "../input/drivers_joypad/linuxraw_joypad.c"
#endif
#ifdef HAVE_X11
2015-01-12 05:16:52 +00:00
#include "../input/drivers/x11_input.c"
#endif
#ifdef HAVE_UDEV
2015-01-12 05:16:52 +00:00
#include "../input/drivers/udev_input.c"
#include "../input/drivers_keyboard/keyboard_event_udev.c"
#include "../input/drivers_joypad/udev_joypad.c"
#endif
2015-01-12 05:16:52 +00:00
#include "../input/drivers/nullinput.c"
2015-04-02 16:44:02 +00:00
#include "../input/drivers_joypad/null_joypad.c"
/*============================================================
INPUT (HID)
============================================================ */
2016-06-07 01:01:33 +00:00
#ifdef HAVE_HID
#include "../input/input_hid_driver.c"
#include "../input/drivers_joypad/hid_joypad.c"
#include "../input/drivers_hid/null_hid.c"
2016-05-11 17:02:43 +00:00
#if defined(HAVE_LIBUSB) && defined(HAVE_THREADS)
#include "../input/drivers_hid/libusb_hid.c"
2015-04-07 04:57:05 +00:00
#endif
2015-11-16 03:17:13 +00:00
#ifdef HAVE_BTSTACK
2015-04-04 03:23:26 +00:00
#include "../input/drivers_hid/btstack_hid.c"
2015-11-16 03:17:13 +00:00
#endif
#if defined(__APPLE__) && defined(HAVE_IOHIDMANAGER)
#include "../input/drivers_hid/iohidmanager_hid.c"
#endif
#ifdef HAVE_WIIUSB_HID
#include "../input/drivers_hid/wiiusb_hid.c"
#endif
#include "../input/connect/joypad_connection.c"
#include "../input/connect/connect_ps3.c"
#include "../input/connect/connect_ps4.c"
#include "../input/connect/connect_wii.c"
#include "../input/connect/connect_wiiupro.c"
#include "../input/connect/connect_snesusb.c"
#include "../input/connect/connect_nesusb.c"
#include "../input/connect/connect_wiiugca.c"
#include "../input/connect/connect_ps2adapter.c"
#endif
/*============================================================
KEYBOARD EVENT
============================================================ */
#ifdef HAVE_X11
#include "../input/drivers_keyboard/keyboard_event_x11.c"
#endif
#ifdef __APPLE__
#include "../input/drivers_keyboard/keyboard_event_apple.c"
#endif
#ifdef HAVE_XKBCOMMON
#include "../input/drivers_keyboard/keyboard_event_xkb.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
============================================================ */
2015-01-12 15:00:13 +00:00
#include "../gfx/video_state_tracker.c"
2012-04-13 23:02:37 +00:00
#ifdef HAVE_PYTHON
#include "../gfx/drivers_tracker/video_state_python.c"
#endif
2012-04-13 23:02:37 +00:00
/*============================================================
FIFO BUFFER
============================================================ */
#include "../libretro-common/queues/fifo_queue.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
============================================================ */
2015-01-12 21:11:13 +00:00
#include "../audio/audio_resampler_driver.c"
2016-03-14 14:43:40 +00:00
#include "../audio/drivers_resampler/sinc_resampler.c"
#include "../audio/drivers_resampler/nearest_resampler.c"
#include "../audio/drivers_resampler/null_resampler.c"
2015-01-12 21:11:13 +00:00
#include "../audio/drivers_resampler/cc_resampler.c"
2012-04-13 23:02:37 +00:00
2013-11-17 18:47:37 +00:00
/*============================================================
CAMERA
============================================================ */
#if defined(ANDROID)
2015-01-12 18:04:12 +00:00
#include "../camera/drivers/android.c"
2013-11-17 18:47:37 +00:00
#elif defined(EMSCRIPTEN)
2015-01-12 18:04:12 +00:00
#include "../camera/drivers/rwebcam.c"
2013-11-17 18:47:37 +00:00
#endif
#ifdef HAVE_V4L2
2015-01-12 18:04:12 +00:00
#include "../camera/drivers/video4linux2.c"
2013-11-17 18:47:37 +00:00
#endif
2016-07-28 18:01:38 +00:00
#ifdef HAVE_VIDEO_PROCESSOR
#include "../cores/libretro-video-processor/video_processor_v4l2.c"
#endif
2015-01-12 18:04:12 +00:00
#include "../camera/drivers/nullcamera.c"
2013-11-17 18:47:37 +00:00
/*============================================================
LOCATION
============================================================ */
#if defined(ANDROID)
#include "../location/drivers/android.c"
#endif
#include "../location/drivers/nulllocation.c"
2012-04-13 23:02:37 +00:00
/*============================================================
RSOUND
============================================================ */
#ifdef HAVE_RSOUND
#include "../audio/librsound.c"
2015-01-12 21:28:59 +00:00
#include "../audio/drivers/rsound.c"
2012-04-13 23:02:37 +00:00
#endif
/*============================================================
AUDIO
============================================================ */
#if defined(__CELLOS_LV2__)
2015-01-12 04:05:56 +00:00
#include "../audio/drivers/ps3_audio.c"
#elif defined(XENON)
2015-01-12 04:05:56 +00:00
#include "../audio/drivers/xenon360_audio.c"
2012-04-14 11:42:25 +00:00
#elif defined(GEKKO)
2015-01-12 04:05:56 +00:00
#include "../audio/drivers/gx_audio.c"
#elif defined(EMSCRIPTEN)
2015-01-12 04:05:56 +00:00
#include "../audio/drivers/rwebaudio.c"
#elif defined(PSP) || defined(VITA)
#include "../audio/drivers/psp_audio.c"
2015-04-01 21:14:13 +00:00
#elif defined(_3DS)
#include "../audio/drivers/ctr_csnd_audio.c"
#include "../audio/drivers/ctr_dsp_audio.c"
#endif
2016-09-03 05:10:55 +00:00
#if defined(HAVE_SDL2)
#include "../audio/drivers/sdl_audio.c"
#endif
#ifdef HAVE_DSOUND
2015-01-12 04:05:56 +00:00
#include "../audio/drivers/dsound.c"
#endif
#ifdef HAVE_SL
2015-01-12 04:05:56 +00:00
#include "../audio/drivers/opensl.c"
2013-01-09 04:57:02 +00:00
#endif
#ifdef HAVE_ALSA
#ifdef __QNX__
2015-01-12 04:05:56 +00:00
#include "../audio/drivers/alsa_qsa.c"
#else
2015-01-12 04:05:56 +00:00
#include "../audio/drivers/alsa.c"
#include "../audio/drivers/alsathread.c"
#endif
#endif
#ifdef HAVE_AL
2015-01-12 04:05:56 +00:00
#include "../audio/drivers/openal.c"
#endif
#ifdef HAVE_COREAUDIO
2015-01-12 04:05:56 +00:00
#include "../audio/drivers/coreaudio.c"
#endif
2015-01-12 04:05:56 +00:00
#include "../audio/drivers/nullaudio.c"
2012-07-08 16:30:19 +00:00
/*============================================================
DRIVERS
============================================================ */
2015-01-12 17:28:32 +00:00
#include "../gfx/video_driver.c"
2016-03-05 06:27:48 +00:00
#include "../gfx/video_coord_array.c"
2015-01-12 17:39:27 +00:00
#include "../input/input_driver.c"
2015-01-12 17:09:31 +00:00
#include "../audio/audio_driver.c"
2015-01-12 18:44:29 +00:00
#include "../camera/camera_driver.c"
2015-01-12 18:53:10 +00:00
#include "../location/location_driver.c"
#include "../driver.c"
/*============================================================
SCALERS
============================================================ */
#include "../libretro-common/gfx/scaler/scaler_filter.c"
#include "../libretro-common/gfx/scaler/pixconv.c"
#include "../libretro-common/gfx/scaler/scaler.c"
#include "../libretro-common/gfx/scaler/scaler_int.c"
/*============================================================
FILTERS
============================================================ */
#ifdef HAVE_FILTERS_BUILTIN
#include "../gfx/video_filters/2xsai.c"
#include "../gfx/video_filters/super2xsai.c"
#include "../gfx/video_filters/supereagle.c"
#include "../gfx/video_filters/2xbr.c"
#include "../gfx/video_filters/darken.c"
#include "../gfx/video_filters/epx.c"
#include "../gfx/video_filters/scale2x.c"
#include "../gfx/video_filters/blargg_ntsc_snes.c"
#include "../gfx/video_filters/lq2x.c"
#include "../gfx/video_filters/phosphor2x.c"
#include "../audio/audio_filters/echo.c"
#include "../audio/audio_filters/eq.c"
#include "../audio/audio_filters/chorus.c"
#include "../audio/audio_filters/iir.c"
#include "../audio/audio_filters/panning.c"
#include "../audio/audio_filters/phaser.c"
#include "../audio/audio_filters/reverb.c"
#include "../audio/audio_filters/wahwah.c"
#endif
2012-04-13 23:02:37 +00:00
/*============================================================
DYNAMIC
============================================================ */
2015-05-08 07:49:49 +00:00
#include "../libretro-common/dynamic/dylib.c"
#include "../dynamic.c"
2014-11-20 06:03:25 +00:00
#include "../gfx/video_filter.c"
2016-09-06 21:41:09 +00:00
#include "../gfx/video_frame.c"
#include "../audio/audio_dsp_filter.c"
2015-06-20 22:37:19 +00:00
/*============================================================
CORES
============================================================ */
#ifdef HAVE_FFMPEG
2015-10-19 14:55:08 +00:00
#include "../cores/libretro-ffmpeg/ffmpeg_core.c"
2015-06-20 22:37:19 +00:00
#endif
#include "../cores/dynamic_dummy.c"
2012-04-13 23:02:37 +00:00
/*============================================================
FILE
============================================================ */
#include "../libretro-common/file/file_path.c"
#include "../file_path_special.c"
2016-06-20 03:20:14 +00:00
#include "../file_path_str.c"
#include "../libretro-common/lists/dir_list.c"
#include "../libretro-common/lists/string_list.c"
#include "../libretro-common/lists/file_list.c"
2016-08-29 01:07:20 +00:00
#include "../setting_list.c"
2015-09-04 16:38:29 +00:00
#include "../libretro-common/file/retro_dirent.c"
2016-03-20 15:29:14 +00:00
#include "../libretro-common/streams/file_stream.c"
#include "../libretro-common/streams/interface_stream.c"
#include "../libretro-common/streams/memory_stream.c"
2015-09-21 23:45:16 +00:00
#include "../libretro-common/file/retro_stat.c"
2016-03-20 16:28:24 +00:00
#include "../list_special.c"
2015-03-13 14:43:52 +00:00
#include "../libretro-common/string/stdstring.c"
#include "../libretro-common/file/nbio/nbio_stdio.c"
2012-04-13 23:02:37 +00:00
/*============================================================
MESSAGE
============================================================ */
#include "../libretro-common/queues/message_queue.c"
2012-04-13 23:02:37 +00:00
/*============================================================
PATCH
============================================================ */
#include "../patch.c"
2012-04-13 23:02:37 +00:00
/*============================================================
2015-03-20 23:42:09 +00:00
CONFIGURATION
2012-04-13 23:02:37 +00:00
============================================================ */
2015-03-20 23:42:09 +00:00
#include "../configuration.c"
2012-04-13 23:02:37 +00:00
/*============================================================
2016-05-09 05:14:10 +00:00
STATE MANAGER
2012-04-13 23:02:37 +00:00
============================================================ */
#include "../managers/state_manager.c"
2012-04-13 23:02:37 +00:00
2013-07-27 10:59:23 +00:00
/*============================================================
FRONTEND
============================================================ */
#include "../frontend/frontend_driver.c"
2015-04-07 19:51:57 +00:00
#if defined(_WIN32) && !defined(_XBOX)
#include "../frontend/drivers/platform_win32.c"
#endif
2013-07-27 10:59:23 +00:00
#if defined(__CELLOS_LV2__)
#include "../frontend/drivers/platform_ps3.c"
2013-07-27 10:59:23 +00:00
#elif defined(GEKKO)
#include "../frontend/drivers/platform_gx.c"
#ifdef HW_RVL
#include "../frontend/drivers/platform_wii.c"
#endif
#elif defined(PSP) || defined(VITA)
#include "../frontend/drivers/platform_psp.c"
2015-04-01 21:14:13 +00:00
#elif defined(_3DS)
#include "../frontend/drivers/platform_ctr.c"
#elif defined(XENON)
#include "../frontend/drivers/platform_xenon.c"
2013-07-27 15:16:46 +00:00
#elif defined(__QNX__)
#include "../frontend/drivers/platform_qnx.c"
#elif defined(__linux__)
#include "../frontend/drivers/platform_linux.c"
2016-07-08 11:01:16 +00:00
#elif defined(BSD) && !defined(__MACH__)
2016-07-08 00:13:47 +00:00
#include "../frontend/drivers/platform_bsd.c"
2013-07-27 10:59:23 +00:00
#endif
#include "../frontend/drivers/platform_null.c"
2013-07-27 10:59:23 +00:00
2014-08-02 12:04:43 +00:00
#include "../core_info.c"
2014-03-01 10:53:04 +00:00
/*============================================================
UI
============================================================ */
#include "../ui/ui_companion_driver.c"
#include "../ui/drivers/ui_null.c"
2016-06-04 02:24:54 +00:00
#include "../ui/drivers/null/ui_null_window.c"
2016-06-08 13:47:00 +00:00
#include "../ui/drivers/null/ui_null_browser_window.c"
2016-06-08 04:29:52 +00:00
#include "../ui/drivers/null/ui_null_msg_window.c"
2016-06-07 14:31:35 +00:00
#include "../ui/drivers/null/ui_null_application.c"
2015-11-19 06:41:14 +00:00
#if defined(_WIN32) && !defined(_XBOX)
2015-11-19 06:26:24 +00:00
#include "../ui/drivers/ui_win32.c"
#include "../ui/drivers/win32/ui_win32_browser_window.c"
#include "../ui/drivers/win32/ui_win32_msg_window.c"
2016-06-07 15:03:34 +00:00
#include "../ui/drivers/win32/ui_win32_application.c"
2015-11-19 06:26:24 +00:00
#endif
2012-04-13 23:02:37 +00:00
/*============================================================
MAIN
============================================================ */
#include "../frontend/frontend.c"
2013-02-25 06:29:09 +00:00
2015-04-16 18:23:06 +00:00
/*============================================================
GIT
============================================================ */
#ifdef HAVE_GIT_VERSION
#include "../version_git.c"
2015-04-16 18:23:06 +00:00
#endif
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
============================================================ */
2016-05-08 03:29:10 +00:00
#include "../core_impl.c"
#include "../retroarch.c"
2016-09-17 12:44:19 +00:00
#include "../dirs.c"
2016-09-17 10:10:46 +00:00
#include "../paths.c"
#include "../runloop.c"
2016-02-09 17:13:47 +00:00
#include "../libretro-common/queues/task_queue.c"
2012-04-13 23:02:37 +00:00
2015-06-30 23:42:04 +00:00
#include "../msg_hash.c"
2016-06-07 04:28:33 +00:00
#ifdef HAVE_LANGEXTRA
2015-06-30 23:42:04 +00:00
#include "../intl/msg_hash_de.c"
#include "../intl/msg_hash_es.c"
#include "../intl/msg_hash_eo.c"
#include "../intl/msg_hash_fr.c"
#include "../intl/msg_hash_it.c"
2016-08-20 19:37:03 +00:00
#include "../intl/msg_hash_jp.c"
2015-06-30 23:42:04 +00:00
#include "../intl/msg_hash_nl.c"
#include "../intl/msg_hash_pt.c"
2015-07-07 00:56:27 +00:00
#include "../intl/msg_hash_pl.c"
#include "../intl/msg_hash_ru.c"
2016-10-27 19:56:01 +00:00
#include "../intl/msg_hash_vn.c"
#endif
2016-06-07 04:28:33 +00:00
#include "../intl/msg_hash_us.c"
2015-06-20 22:37:19 +00:00
2016-09-22 01:27:55 +00:00
/*============================================================
WIFI
============================================================ */
#include "../wifi/wifi_driver.c"
#include "../wifi/drivers/nullwifi.c"
#ifdef HAVE_LAKKA
#include "../wifi/drivers/connmanctl.c"
#endif
/*============================================================
RECORDING
============================================================ */
2014-08-13 06:07:30 +00:00
#include "../movie.c"
2015-01-12 20:55:41 +00:00
#include "../record/record_driver.c"
2015-04-15 11:37:38 +00:00
#include "../record/drivers/record_null.c"
2015-06-20 22:37:19 +00:00
#ifdef HAVE_FFMPEG
#include "../record/drivers/record_ffmpeg.c"
#endif
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 "../libretro-common/rthreads/rthreads.c"
#include "../libretro-common/rthreads/rsemaphore.c"
2013-12-31 21:10:58 +00:00
#include "../gfx/video_thread_wrapper.c"
2014-10-01 21:27:52 +00:00
#include "../audio/audio_thread_wrapper.c"
2012-04-14 12:08:00 +00:00
#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
============================================================ */
2016-09-29 19:07:10 +00:00
#ifdef HAVE_NETWORKING
#include "../network/netplay/netplay_net.c"
#include "../network/netplay/netplay_spectate.c"
#include "../network/netplay/netplay_common.c"
#include "../network/netplay/netplay.c"
#include "../libretro-common/net/net_compat.c"
2016-05-01 19:18:45 +00:00
#include "../libretro-common/net/net_socket.c"
#include "../libretro-common/net/net_http.c"
2016-03-02 23:26:26 +00:00
#ifndef HAVE_SOCKET_LEGACY
#include "../libretro-common/net/net_ifinfo.c"
#endif
2015-05-05 15:36:58 +00:00
#include "../tasks/task_http.c"
2012-04-14 12:08:00 +00:00
#endif
2012-04-13 23:02:37 +00:00
/*============================================================
DATA RUNLOOP
============================================================ */
2016-01-23 23:40:34 +00:00
#include "../tasks/task_content.c"
2016-09-19 00:57:23 +00:00
#include "../tasks/task_save.c"
2016-05-10 07:33:11 +00:00
#include "../tasks/task_image.c"
#include "../tasks/task_file_transfer.c"
2015-11-27 22:54:08 +00:00
#ifdef HAVE_ZLIB
#include "../tasks/task_decompress.c"
#endif
#ifdef HAVE_LIBRETRODB
#include "../tasks/task_database.c"
2015-09-16 20:39:47 +00:00
#include "../tasks/task_database_cue.c"
#endif
/*============================================================
SCREENSHOTS
============================================================ */
#include "../tasks/task_screenshot.c"
/*============================================================
2014-08-15 15:24:28 +00:00
PLAYLISTS
============================================================ */
2014-08-15 15:24:28 +00:00
#include "../playlist.c"
2012-04-13 23:02:37 +00:00
/*============================================================
MENU
============================================================ */
2013-04-18 13:04:09 +00:00
#ifdef HAVE_MENU
2015-12-06 16:55:27 +00:00
#include "../menu/menu_driver.c"
2015-06-15 04:25:41 +00:00
#include "../menu/menu_input.c"
2016-09-16 14:39:30 +00:00
#include "../menu/menu_event.c"
2015-06-12 14:07:12 +00:00
#include "../menu/menu_entries.c"
2015-02-14 00:51:28 +00:00
#include "../menu/menu_setting.c"
#include "../menu/menu_cbs.c"
2016-01-25 03:32:52 +00:00
#include "../menu/menu_content.c"
2016-09-14 22:20:43 +00:00
#include "../menu/widgets/menu_entry.c"
#include "../menu/widgets/menu_dialog.c"
2016-09-15 17:23:32 +00:00
#include "../menu/widgets/menu_input_dialog.c"
2016-09-15 18:35:39 +00:00
#include "../menu/widgets/menu_input_bind_dialog.c"
2016-09-14 22:10:37 +00:00
#include "../menu/widgets/menu_list.c"
#include "../menu/cbs/menu_cbs_ok.c"
#include "../menu/cbs/menu_cbs_cancel.c"
#include "../menu/cbs/menu_cbs_select.c"
#include "../menu/cbs/menu_cbs_start.c"
#include "../menu/cbs/menu_cbs_info.c"
#include "../menu/cbs/menu_cbs_refresh.c"
#include "../menu/cbs/menu_cbs_left.c"
#include "../menu/cbs/menu_cbs_right.c"
#include "../menu/cbs/menu_cbs_title.c"
#include "../menu/cbs/menu_cbs_deferred_push.c"
#include "../menu/cbs/menu_cbs_scan.c"
#include "../menu/cbs/menu_cbs_get_value.c"
2016-07-08 14:24:05 +00:00
#include "../menu/cbs/menu_cbs_label.c"
2016-10-20 13:57:35 +00:00
#include "../menu/cbs/menu_cbs_sublabel.c"
#include "../menu/cbs/menu_cbs_up.c"
#include "../menu/cbs/menu_cbs_down.c"
#include "../menu/cbs/menu_cbs_contentlist_switch.c"
2014-10-28 18:54:23 +00:00
#include "../menu/menu_shader.c"
#include "../menu/menu_navigation.c"
#include "../menu/menu_display.c"
2015-05-11 09:11:23 +00:00
#include "../menu/menu_displaylist.c"
2014-10-28 18:54:23 +00:00
#include "../menu/menu_animation.c"
2015-03-09 13:39:39 +00:00
#include "../menu/drivers/null.c"
2015-10-03 01:15:47 +00:00
#include "../menu/drivers/menu_generic.c"
2015-11-08 22:20:46 +00:00
#include "../menu/drivers_display/menu_display_null.c"
#ifdef HAVE_OPENGL
#include "../menu/drivers_display/menu_display_gl.c"
#endif
2016-02-17 04:22:17 +00:00
#ifdef HAVE_VULKAN
#include "../menu/drivers_display/menu_display_vulkan.c"
#endif
2016-08-23 00:49:53 +00:00
#ifdef HAVE_VITA2D
#include "../menu/drivers_display/menu_display_vita2d.c"
#endif
#ifdef _3DS
#include "../menu/drivers_display/menu_display_ctr.c"
#endif
#endif
2016-02-17 04:22:17 +00:00
#ifdef HAVE_RGUI
2015-01-26 09:54:13 +00:00
#include "../menu/drivers/rgui.c"
#endif
#if defined(HAVE_OPENGL) || defined(HAVE_VITA2D) || defined(_3DS)
2014-10-09 03:14:41 +00:00
#ifdef HAVE_XMB
2015-01-26 09:54:13 +00:00
#include "../menu/drivers/xmb.c"
#endif
#ifdef HAVE_MATERIALUI
#include "../menu/drivers/materialui.c"
2014-09-13 04:25:41 +00:00
#endif
2016-04-25 12:58:47 +00:00
#ifdef HAVE_NUKLEAR
#include "../menu/drivers/nuklear/nk_common.c"
#include "../menu/drivers/nuklear/nk_menu.c"
#include "../menu/drivers/nuklear/nk_wnd_shader_parameters.c"
2016-05-26 00:58:16 +00:00
#include "../menu/drivers/nuklear/nk_wnd_file_picker.c"
#include "../menu/drivers/nuklear/nk_wnd_settings.c"
2016-05-26 00:38:20 +00:00
#include "../menu/drivers/nuklear/nk_wnd_main.c"
2016-04-25 12:58:47 +00:00
#include "../menu/drivers/nuklear.c"
2016-02-14 19:10:06 +00:00
#endif
#ifdef HAVE_ZARCH
#include "../menu/drivers/zarch.c"
#endif
2014-09-13 04:25:41 +00:00
#endif
#ifdef HAVE_NETWORKGAMEPAD
2016-05-09 15:37:29 +00:00
#include "../input/input_remote.c"
#include "../cores/libretro-net-retropad/net_retropad_core.c"
2015-11-26 04:20:08 +00:00
#endif
2016-05-09 18:30:47 +00:00
#include "../command.c"
2015-04-13 09:15:40 +00:00
2012-11-20 02:40:39 +00:00
#ifdef __cplusplus
extern "C" {
#endif
/*============================================================
2014-09-02 17:41:43 +00:00
DEPENDENCIES
============================================================ */
2015-03-14 04:24:57 +00:00
#ifdef WANT_ZLIB
2015-03-06 00:47:09 +00:00
#include "../deps/zlib/adler32.c"
#include "../deps/zlib/compress.c"
#include "../deps/zlib/crc32.c"
#include "../deps/zlib/deflate.c"
#include "../deps/zlib/gzclose.c"
#include "../deps/zlib/gzlib.c"
#include "../deps/zlib/gzread.c"
#include "../deps/zlib/gzwrite.c"
#include "../deps/zlib/inffast.c"
#include "../deps/zlib/inflate.c"
#include "../deps/zlib/inftrees.c"
#include "../deps/zlib/trees.c"
#include "../deps/zlib/uncompr.c"
#include "../deps/zlib/zutil.c"
#endif
2014-09-02 17:41:43 +00:00
#ifdef HAVE_7ZIP
2014-09-02 19:45:14 +00:00
#include "../deps/7zip/7zIn.c"
#include "../deps/7zip/7zAlloc.c"
#include "../deps/7zip/Bra86.c"
#include "../deps/7zip/7zFile.c"
#include "../deps/7zip/7zStream.c"
#include "../deps/7zip/7zBuf2.c"
#include "../deps/7zip/LzmaDec.c"
#include "../deps/7zip/7zCrcOpt.c"
#include "../deps/7zip/Bra.c"
#include "../deps/7zip/7zDec.c"
#include "../deps/7zip/Bcj2.c"
#include "../deps/7zip/7zCrc.c"
#include "../deps/7zip/Lzma2Dec.c"
#include "../deps/7zip/7zBuf.c"
2014-09-02 17:41:43 +00:00
#endif
/*============================================================
XML
============================================================ */
2014-12-15 20:34:22 +00:00
#if 0
2014-01-22 11:39:28 +00:00
#ifndef HAVE_LIBXML2
#define RXML_LIBXML2_COMPAT
#include "../libretro-common/formats/xml/rxml.c"
2014-01-22 11:39:28 +00:00
#endif
2014-12-15 20:34:22 +00:00
#endif
/*============================================================
AUDIO UTILS
============================================================ */
2016-05-16 09:35:28 +00:00
#include "../libretro-common/conversion/s16_to_float.c"
#include "../libretro-common/conversion/float_to_s16.c"
/*============================================================
2015-01-19 21:47:09 +00:00
LIBRETRODB
============================================================ */
2015-01-22 02:58:04 +00:00
#ifdef HAVE_LIBRETRODB
2015-02-18 23:47:19 +00:00
#include "../libretro-db/bintree.c"
#include "../libretro-db/libretrodb.c"
#include "../libretro-db/rmsgpack.c"
#include "../libretro-db/rmsgpack_dom.c"
#include "../libretro-db/query.c"
2015-01-27 17:09:19 +00:00
#include "../database_info.c"
2015-01-22 02:58:04 +00:00
#endif
/*============================================================
HTTP SERVER
============================================================ */
#if defined(HAVE_HTTPSERVER) && defined(HAVE_ZLIB)
2016-09-11 12:37:29 +00:00
#include "../deps/civetweb/civetweb.c"
2016-09-12 15:21:00 +00:00
#include "network/httpserver/httpserver.c"
#endif
2015-04-16 18:23:06 +00:00
2012-11-20 02:40:39 +00:00
#ifdef __cplusplus
}
2016-05-16 14:42:33 +00:00
#endif