RetroArch
dynamic.h
Go to the documentation of this file.
1 /* RetroArch - A frontend for libretro.
2  * Copyright (C) 2010-2014 - Hans-Kristian Arntzen
3  * Copyright (C) 2011-2017 - Daniel De Matteis
4  *
5  * RetroArch is free software: you can redistribute it and/or modify it under the terms
6  * of the GNU General Public License as published by the Free Software Found-
7  * ation, either version 3 of the License, or (at your option) any later version.
8  *
9  * RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
10  * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11  * PURPOSE. See the GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License along with RetroArch.
14  * If not, see <http://www.gnu.org/licenses/>.
15  */
16 
17 #ifndef __DYNAMIC_H
18 #define __DYNAMIC_H
19 
20 #include <boolean.h>
21 #include <retro_common_api.h>
22 #include <libretro.h>
23 #include <dynamic/dylib.h>
24 
25 #include "core_type.h"
26 
28 
41 bool libretro_get_system_info(const char *path,
42  struct retro_system_info *info, bool *load_no_content);
43 
51 
53  const struct retro_subsystem_info *info,
54  unsigned num_info, const char *ident);
55 
67 const struct retro_controller_description *
69  const struct retro_controller_info *info, unsigned id);
70 
81 bool rarch_environment_cb(unsigned cmd, void *data);
82 
84 {
87  unsigned (*retro_api_version)(void);
96  void (*retro_set_controller_port_device)(unsigned, unsigned);
100  bool (*retro_serialize)(void*, size_t);
101  bool (*retro_unserialize)(const void*, size_t);
103  void (*retro_cheat_set)(unsigned, bool, const char*);
106  const struct retro_game_info*, size_t);
108  unsigned (*retro_get_region)(void);
109  void *(*retro_get_memory_data)(unsigned);
110  size_t (*retro_get_memory_size)(unsigned);
111 
112  unsigned poll_type;
113  bool inited;
119 };
120 
121 bool libretro_get_shared_context(void);
122 
134  struct retro_core_t *core);
135 
136 bool init_libretro_sym_custom(enum rarch_core_type type, struct retro_core_t *current_core, const char *lib_path, dylib_t *lib_handle_p);
137 
148 
149 /* Arbitrary twenty subsystems limite */
150 #define SUBSYSTEM_MAX_SUBSYSTEMS 20
151 /* Arbitrary 10 roms for each subsystem limit */
152 #define SUBSYSTEM_MAX_SUBSYSTEM_ROMS 10
153 
157 
159 
160 #endif
161 
bool init_libretro_sym_custom(enum rarch_core_type type, struct retro_core_t *current_core, const char *lib_path, dylib_t *lib_handle_p)
Definition: dynamic.c:493
rarch_core_type
Definition: core_type.h:19
size_t(* retro_serialize_size)(void)
Definition: dynamic.h:99
struct retro_subsystem_info subsystem_data[SUBSYSTEM_MAX_SUBSYSTEMS]
Definition: dynamic.h:154
void(* retro_set_audio_sample)(retro_audio_sample_t)
Definition: dynamic.h:92
bool(* retro_unserialize)(const void *, size_t)
Definition: dynamic.h:101
RETRO_BEGIN_DECLS bool libretro_get_system_info(const char *path, struct retro_system_info *info, bool *load_no_content)
Definition: dynamic.c:416
Definition: libretro.h:2189
unsigned poll_type
Definition: dynamic.h:112
RETRO_BEGIN_DECLS typedef void * dylib_t
Definition: dylib.h:42
#define RETRO_BEGIN_DECLS
Definition: retro_common_api.h:41
struct retro_core_t current_core
Definition: core_impl.c:54
unsigned(* retro_api_version)(void)
Definition: dynamic.h:87
size_t(RETRO_CALLCONV * retro_audio_sample_batch_t)(const int16_t *data, size_t frames)
Definition: libretro.h:2353
Definition: libretro.h:2275
Definition: libretro.h:1458
GLsizei const GLchar ** path
Definition: glext.h:7901
void(* retro_cheat_reset)(void)
Definition: dynamic.h:102
bool has_set_input_descriptors
Definition: dynamic.h:117
void(* retro_init)(void)
Definition: dynamic.h:85
bool(RETRO_CALLCONV * retro_environment_t)(unsigned cmd, void *data)
Definition: libretro.h:2325
void(* retro_unload_game)(void)
Definition: dynamic.h:107
void(RETRO_CALLCONV * retro_video_refresh_t)(const void *data, unsigned width, unsigned height, size_t pitch)
Definition: libretro.h:2338
void(* retro_set_audio_sample_batch)(retro_audio_sample_batch_t)
Definition: dynamic.h:93
typedef void(__stdcall *PFN_DESTRUCTION_CALLBACK)(void *pData)
unsigned subsystem_current_count
Definition: dynamic.h:156
bool(* retro_serialize)(void *, size_t)
Definition: dynamic.h:100
Definition: ibxm.h:9
bool game_loaded
Definition: dynamic.h:115
typedef bool(RETRO_CALLCONV *retro_replace_image_index_t)(unsigned index
unsigned(* retro_get_region)(void)
Definition: dynamic.h:108
bool rarch_environment_cb(unsigned cmd, void *data)
Definition: dynamic.c:1151
#define SUBSYSTEM_MAX_SUBSYSTEM_ROMS
Definition: dynamic.h:152
bool inited
Definition: dynamic.h:113
void(RETRO_CALLCONV * retro_audio_sample_t)(int16_t left, int16_t right)
Definition: libretro.h:2345
GLenum type
Definition: glext.h:6233
void(* retro_get_system_info)(struct retro_system_info *)
Definition: dynamic.h:88
void(* retro_get_system_av_info)(struct retro_system_av_info *)
Definition: dynamic.h:89
ubyte cmd
Definition: wiiuse_internal.h:319
size_t(* retro_get_memory_size)(unsigned)
Definition: dynamic.h:110
bool init_libretro_sym(enum rarch_core_type type, struct retro_core_t *core)
Definition: dynamic.c:802
bool(* retro_load_game)(const struct retro_game_info *)
Definition: dynamic.h:104
void(* retro_set_input_state)(retro_input_state_t)
Definition: dynamic.h:95
uint64_t serialization_quirks_v
Definition: dynamic.h:118
void(* retro_cheat_set)(unsigned, bool, const char *)
Definition: dynamic.h:103
const char * ident
Definition: libretro.h:1524
struct retro_subsystem_rom_info subsystem_data_roms[SUBSYSTEM_MAX_SUBSYSTEMS][SUBSYSTEM_MAX_SUBSYSTEM_ROMS]
Definition: dynamic.h:155
Definition: dynamic.h:83
void(* retro_set_input_poll)(retro_input_poll_t)
Definition: dynamic.h:94
Definition: libretro.h:1514
bool symbols_inited
Definition: dynamic.h:114
void(* retro_set_controller_port_device)(unsigned, unsigned)
Definition: dynamic.h:96
Definition: libretro.h:1473
void(* retro_set_environment)(retro_environment_t)
Definition: dynamic.h:90
Definition: libretro.h:2254
#define RETRO_END_DECLS
Definition: retro_common_api.h:42
#define SUBSYSTEM_MAX_SUBSYSTEMS
Definition: dynamic.h:150
void uninit_libretro_sym(struct retro_core_t *core)
Definition: dynamic.c:829
Definition: libretro.h:1490
bool libretro_get_shared_context(void)
Definition: dynamic.c:815
bool(* retro_load_game_special)(unsigned, const struct retro_game_info *, size_t)
Definition: dynamic.h:105
Unknown compiler Device disconnected from port File already exists Saving to backup buffer Got connection No arguments supplied and no menu displaying help Waiting for client Enable horizontal animation for the menu This will have a performance hit Hard synchronize the CPU and GPU Reduces latency at the cost of performance Audio volume Auto loading savestate from Connecting to netplay host Connection slot Password Username Accounts List Endpoint Achievements Scan Content Import content Assets Audio Device Audio DSP Plugin Audio Filter Audio Audio Maximum Timing Skew Audio Output Dynamic Audio Rate Control Audio Audio Volume SaveRAM Autosave Interval Load Remap Files Automatically Back Info Scroll Down Start Toggle Menu Confirm OK Quit Defaults Toggle Menu Bluetooth Enable Cache Camera Driver Apply Cheat Changes Cheat File Save Cheat File As Description Locked Locked Test Unofficial Achievements Unlocked Config Configuration Collections Content Quick Menu Downloads Core Counters Core Information Categories Core name Permissions System manufacturer Controls Options Start a Core Automatically Buildbot Cores URL Updater CPU Cursor Custom Ratio Database Selection Favorites< Default > Directory not found Disk Cycle Tray Status Disk Index Don t care Download Core DPI Override Enable Driver Dynamic Wallpaper Enable Achievements Menu entry normal color Maximum Run Speed Limit Maximum Run Speed Frontend Counters Create game options file help Changing Virtual Gamepad Overlay Help Scanning For Content History List Enable Horizontal Menu Information Analog To Digital Type Left Analog X Left analog Left Analog Y Left analog Right Analog X Right analog Right Analog Y Right analog Gun Trigger Gun Aux A Gun Aux C Gun Select Gun D pad Down Gun D pad Right Analog Stick Deadzone Bind All Bind Timeout Hide Unbound Core Input Descriptors Device Index Input Driver Input Hotkey Binds A B Down D pad L3 L Left D pad R3 R Right D pad Start button X Y Mouse Mouse Mouse Wheel Down Wheel Right Max Users Cheat index Cheat toggle Disk next Enable hotkeys Fast forward toggle Fullscreen toggle Load state Movie record toggle On screen keyboard toggle Pause toggle Reset game Save state Next shader Slow motion Savestate slot Volume Hide Overlay In Menu Early Normal Input Remapping Save Autoconfig Small Keyboard Enable Turbo enable Input User u Binds Input Autoconfig Services Dutch Esperanto German Japanese Polish Russian Vietnamese Left Analog Core Info Linear Load Recent Load State Location Driver Logging Verbosity Database Settings Blue Dark Blue Shield Yellow Header Opacity Throttle Menu Framerate Menu Linear Filter Appearance Background opacity Multimedia Filter unknown extensions Nearest Netplay Check Frames Disconnect Connect to Netplay host Stop netplay host Netplay Client Enable Netplay settings Netplay TCP UDP Port Network Command Port Network Gamepad Network None No achievements to display No cores available No core options available No history available No items No playlists No settings found OFF Online Onscreen Display Onscreen Notifications Optional Autoload Preferred Overlay Overlay Opacity Overlay Scale Use PAL60 Mode Pause when menu activated Performance Counters Playlist Touch Support Present Quit RetroArch BBFC Rating Co op supported Description Edge Magazine Issue Edge Magazine Review Enhancement Hardware Famitsu Magazine Rating Genre Name PEGI Rating Releasedate Month Rumble supported SHA1 TGDB Rating Recording Config Recording Record Driver Save Output Recording as Remap File Save Core Remap File Required Restart RetroArch Resume RetroPad Achievements Rewind Granularity File Browser Display Start Screen Run Savefile Auto Load State Savestate Save Core Overrides Save New Configuration Saving Scan File Screenshot Search Settings Shader Shaders Simple Snow Show Advanced Settings Shutdown Sort Saves In Folders SSH Enable Start Remote RetroPad State Slot stdin Commands Suspend Screensaver System BIOS support Build date Cocoa support CoreText support Display metric DPI Display metric DirectSound support Dynamic library support EGL support FFmpeg support STB TrueType support Frontend name Git version HLSL support KMS EGL support Libusb support Network Command interface support OpenAL support OpenGL support OpenVG support Overlay support Charged Discharging PulseAudio support BMP RetroRating level RoarAudio support RSound support SDL2 support SDL1 support Threading support Video4Linux2 support Vulkan support X11 support XVideo support Take Screenshot Thumbnails Thumbnails Updater Screenshots Display time date True UI Companion Start On Boot Unable to read compressed file Undo Save State Updater Update Joypad Profiles Update Cheats Update Databases Update Lakka Update Slang Shaders User Interface User Use Builtin Media Player Allow rotation Aspect Ratio Crop Disable Desktop Composition Video Driver Video Filter Enable Onscreen Notifications Onscreen Notification Size Force disable sRGB FBO Use Fullscreen Mode Use GPU Recording Hard GPU Sync Max swapchain images Onscreen Notification Y Position Use Post Filter Recording Estimated Screen Framerate Rotation Integer Scale Video Shader Preview Shader Parameters Save Shader Preset As Save Game Preset Bilinear Filtering Vertical Video Deflicker Custom Viewport Width Custom Viewport Y Pos Vertical Windowed Fullscreen Mode Window Height Wi Fi Menu Font Red Color Menu Font Blue Color Custom Monochrome Systematic Pixel Retrosystem Menu Color Theme Dark Electric Blue Legacy Red Plain Volcanic Red Menu Scale Factor Display History Tab Display Music Tab Display Video Tab Menu Icon Theme Shader Preset Enable or disable unofficial achievements and or beta features for testing purposes Change drivers for this system Change settings for the core Change settings for display keyboard overlay and onscreen notifications Change settings for the saving Change settings for the user interface Change your privacy settings Change settings for the playlists Scan contents and add to the database Enable or disable bluetooth Change default settings for configuration files Amount of cores that the CPU has Configure hotkey settings Adjusts settings for keyboard and mouse Enable or disable logging to the terminal Display core
Definition: msg_hash_eo.h:1757
void(* retro_reset)(void)
Definition: dynamic.h:97
void(* retro_run)(void)
Definition: dynamic.h:98
bool input_polled
Definition: dynamic.h:116
void(* retro_deinit)(void)
Definition: dynamic.h:86
const struct retro_subsystem_info * libretro_find_subsystem_info(const struct retro_subsystem_info *info, unsigned num_info, const char *ident)
Definition: dynamic.c:115
const struct retro_controller_description * libretro_find_controller_description(const struct retro_controller_info *info, unsigned id)
Definition: dynamic.c:143
void(RETRO_CALLCONV * retro_input_poll_t)(void)
Definition: libretro.h:2357
unsigned __int64 uint64_t
Definition: stdint.h:136
void libretro_free_system_info(struct retro_system_info *info)
Definition: dynamic.c:165
int16_t(RETRO_CALLCONV * retro_input_state_t)(unsigned port, unsigned device, unsigned index, unsigned id)
Definition: libretro.h:2366
void(* retro_set_video_refresh)(retro_video_refresh_t)
Definition: dynamic.h:91