Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Libretro
Citra2018
Commits
45c165d9
Commit
45c165d9
authored
Aug 07, 2017
by
Libretro-Admin
Committed by
James
Sep 27, 2018
Browse files
Set HW_SHARED_CONTEXT
parent
2d250dbf
Changes
4
Hide whitespace changes
Inline
Side-by-side
externals/libretro/libretro.h
View file @
45c165d9
...
...
@@ -77,7 +77,7 @@ extern "C" {
# endif
#endif
/* Used for checking API/ABI mismatches that can break libretro
/* Used for checking API/ABI mismatches that can break libretro
* implementations.
* It is not incremented for compatible changes to the API.
*/
...
...
@@ -87,13 +87,13 @@ extern "C" {
* Libretro's fundamental device abstractions.
*
* Libretro's input system consists of some standardized device types,
* such as a joypad (with/without analog), mouse, keyboard, lightgun
* such as a joypad (with/without analog), mouse, keyboard, lightgun
* and a pointer.
*
* The functionality of these devices are fixed, and individual cores
* The functionality of these devices are fixed, and individual cores
* map their own concept of a controller to libretro's abstractions.
* This makes it possible for frontends to map the abstract types to a
* real input device, and not having to worry about binding input
* This makes it possible for frontends to map the abstract types to a
* real input device, and not having to worry about binding input
* correctly to arbitrary controller layouts.
*/
...
...
@@ -104,22 +104,22 @@ extern "C" {
/* Input disabled. */
#define RETRO_DEVICE_NONE 0
/* The JOYPAD is called RetroPad. It is essentially a Super Nintendo
* controller, but with additional L2/R2/L3/R3 buttons, similar to a
/* The JOYPAD is called RetroPad. It is essentially a Super Nintendo
* controller, but with additional L2/R2/L3/R3 buttons, similar to a
* PS1 DualShock. */
#define RETRO_DEVICE_JOYPAD 1
/* The mouse is a simple mouse, similar to Super Nintendo's mouse.
* X and Y coordinates are reported relatively to last poll (poll callback).
* It is up to the libretro implementation to keep track of where the mouse
* It is up to the libretro implementation to keep track of where the mouse
* pointer is supposed to be on the screen.
* The frontend must make sure not to interfere with its own hardware
* The frontend must make sure not to interfere with its own hardware
* mouse pointer.
*/
#define RETRO_DEVICE_MOUSE 2
/* KEYBOARD device lets one poll for raw key pressed.
* It is poll based, so input callback will return with the current
* It is poll based, so input callback will return with the current
* pressed state.
* For event/text based keyboard input, see
* RETRO_ENVIRONMENT_SET_KEYBOARD_CALLBACK.
...
...
@@ -132,7 +132,7 @@ extern "C" {
/* The ANALOG device is an extension to JOYPAD (RetroPad).
* Similar to DualShock it adds two analog sticks.
* This is treated as a separate device type as it returns values in the
* This is treated as a separate device type as it returns values in the
* full analog range of [-0x8000, 0x7fff]. Positive X axis is right.
* Positive Y axis is down.
* Only use ANALOG type when polling for analog values of the axes.
...
...
@@ -140,7 +140,7 @@ extern "C" {
#define RETRO_DEVICE_ANALOG 5
/* Abstracts the concept of a pointing mechanism, e.g. touch.
* This allows libretro to query in absolute coordinates where on the
* This allows libretro to query in absolute coordinates where on the
* screen a mouse (or something similar) is being placed.
* For a touch centric device, coordinates reported are the coordinates
* of the press.
...
...
@@ -148,31 +148,31 @@ extern "C" {
* Coordinates in X and Y are reported as:
* [-0x7fff, 0x7fff]: -0x7fff corresponds to the far left/top of the screen,
* and 0x7fff corresponds to the far right/bottom of the screen.
* The "screen" is here defined as area that is passed to the frontend and
* The "screen" is here defined as area that is passed to the frontend and
* later displayed on the monitor.
*
* The frontend is free to scale/resize this screen as it sees fit, however,
* (X, Y) = (-0x7fff, -0x7fff) will correspond to the top-left pixel of the
* (X, Y) = (-0x7fff, -0x7fff) will correspond to the top-left pixel of the
* game image, etc.
*
* To check if the pointer coordinates are valid (e.g. a touch display
* To check if the pointer coordinates are valid (e.g. a touch display
* actually being touched), PRESSED returns 1 or 0.
*
* If using a mouse on a desktop, PRESSED will usually correspond to the
* If using a mouse on a desktop, PRESSED will usually correspond to the
* left mouse button, but this is a frontend decision.
* PRESSED will only return 1 if the pointer is inside the game screen.
*
* For multi-touch, the index variable can be used to successively query
* For multi-touch, the index variable can be used to successively query
* more presses.
* If index = 0 returns true for _PRESSED, coordinates can be extracted
* with _X, _Y for index = 0. One can then query _PRESSED, _X, _Y with
* with _X, _Y for index = 0. One can then query _PRESSED, _X, _Y with
* index = 1, and so on.
* Eventually _PRESSED will return false for an index. No further presses
* Eventually _PRESSED will return false for an index. No further presses
* are registered at this point. */
#define RETRO_DEVICE_POINTER 6
/* Buttons for the RetroPad (JOYPAD).
* The placement of these is equivalent to placements on the
* The placement of these is equivalent to placements on the
* Super Nintendo controller.
* L2/R2/L3/R3 buttons correspond to the PS1 DualShock. */
#define RETRO_DEVICE_ID_JOYPAD_B 0
...
...
@@ -230,30 +230,30 @@ extern "C" {
/* Id values for LANGUAGE */
enum
retro_language
{
RETRO_LANGUAGE_ENGLISH
=
0
,
RETRO_LANGUAGE_JAPANESE
=
1
,
RETRO_LANGUAGE_FRENCH
=
2
,
RETRO_LANGUAGE_SPANISH
=
3
,
RETRO_LANGUAGE_GERMAN
=
4
,
RETRO_LANGUAGE_ITALIAN
=
5
,
RETRO_LANGUAGE_DUTCH
=
6
,
RETRO_LANGUAGE_PORTUGUESE_BRAZIL
=
7
,
RETRO_LANGUAGE_PORTUGUESE_PORTUGAL
=
8
,
RETRO_LANGUAGE_RUSSIAN
=
9
,
RETRO_LANGUAGE_KOREAN
=
10
,
RETRO_LANGUAGE_CHINESE_TRADITIONAL
=
11
,
RETRO_LANGUAGE_CHINESE_SIMPLIFIED
=
12
,
RETRO_LANGUAGE_ESPERANTO
=
13
,
RETRO_LANGUAGE_POLISH
=
14
,
RETRO_LANGUAGE_VIETNAMESE
=
15
,
RETRO_LANGUAGE_LAST
,
/* Ensure sizeof(enum) == sizeof(int) */
RETRO_LANGUAGE_DUMMY
=
INT_MAX
RETRO_LANGUAGE_ENGLISH
=
0
,
RETRO_LANGUAGE_JAPANESE
=
1
,
RETRO_LANGUAGE_FRENCH
=
2
,
RETRO_LANGUAGE_SPANISH
=
3
,
RETRO_LANGUAGE_GERMAN
=
4
,
RETRO_LANGUAGE_ITALIAN
=
5
,
RETRO_LANGUAGE_DUTCH
=
6
,
RETRO_LANGUAGE_PORTUGUESE_BRAZIL
=
7
,
RETRO_LANGUAGE_PORTUGUESE_PORTUGAL
=
8
,
RETRO_LANGUAGE_RUSSIAN
=
9
,
RETRO_LANGUAGE_KOREAN
=
10
,
RETRO_LANGUAGE_CHINESE_TRADITIONAL
=
11
,
RETRO_LANGUAGE_CHINESE_SIMPLIFIED
=
12
,
RETRO_LANGUAGE_ESPERANTO
=
13
,
RETRO_LANGUAGE_POLISH
=
14
,
RETRO_LANGUAGE_VIETNAMESE
=
15
,
RETRO_LANGUAGE_LAST
,
/* Ensure sizeof(enum) == sizeof(int) */
RETRO_LANGUAGE_DUMMY
=
INT_MAX
};
/* Passed to retro_get_memory_data/size().
* If the memory type doesn't apply to the
* If the memory type doesn't apply to the
* implementation NULL/0 can be returned.
*/
#define RETRO_MEMORY_MASK 0xff
...
...
@@ -279,171 +279,171 @@ enum retro_language
/* Keysyms used for ID in input state callback when polling RETRO_KEYBOARD. */
enum
retro_key
{
RETROK_UNKNOWN
=
0
,
RETROK_FIRST
=
0
,
RETROK_BACKSPACE
=
8
,
RETROK_TAB
=
9
,
RETROK_CLEAR
=
12
,
RETROK_RETURN
=
13
,
RETROK_PAUSE
=
19
,
RETROK_ESCAPE
=
27
,
RETROK_SPACE
=
32
,
RETROK_EXCLAIM
=
33
,
RETROK_QUOTEDBL
=
34
,
RETROK_HASH
=
35
,
RETROK_DOLLAR
=
36
,
RETROK_AMPERSAND
=
38
,
RETROK_QUOTE
=
39
,
RETROK_LEFTPAREN
=
40
,
RETROK_RIGHTPAREN
=
41
,
RETROK_ASTERISK
=
42
,
RETROK_PLUS
=
43
,
RETROK_COMMA
=
44
,
RETROK_MINUS
=
45
,
RETROK_PERIOD
=
46
,
RETROK_SLASH
=
47
,
RETROK_0
=
48
,
RETROK_1
=
49
,
RETROK_2
=
50
,
RETROK_3
=
51
,
RETROK_4
=
52
,
RETROK_5
=
53
,
RETROK_6
=
54
,
RETROK_7
=
55
,
RETROK_8
=
56
,
RETROK_9
=
57
,
RETROK_COLON
=
58
,
RETROK_SEMICOLON
=
59
,
RETROK_LESS
=
60
,
RETROK_EQUALS
=
61
,
RETROK_GREATER
=
62
,
RETROK_QUESTION
=
63
,
RETROK_AT
=
64
,
RETROK_LEFTBRACKET
=
91
,
RETROK_BACKSLASH
=
92
,
RETROK_RIGHTBRACKET
=
93
,
RETROK_CARET
=
94
,
RETROK_UNDERSCORE
=
95
,
RETROK_BACKQUOTE
=
96
,
RETROK_a
=
97
,
RETROK_b
=
98
,
RETROK_c
=
99
,
RETROK_d
=
100
,
RETROK_e
=
101
,
RETROK_f
=
102
,
RETROK_g
=
103
,
RETROK_h
=
104
,
RETROK_i
=
105
,
RETROK_j
=
106
,
RETROK_k
=
107
,
RETROK_l
=
108
,
RETROK_m
=
109
,
RETROK_n
=
110
,
RETROK_o
=
111
,
RETROK_p
=
112
,
RETROK_q
=
113
,
RETROK_r
=
114
,
RETROK_s
=
115
,
RETROK_t
=
116
,
RETROK_u
=
117
,
RETROK_v
=
118
,
RETROK_w
=
119
,
RETROK_x
=
120
,
RETROK_y
=
121
,
RETROK_z
=
122
,
RETROK_DELETE
=
127
,
RETROK_KP0
=
256
,
RETROK_KP1
=
257
,
RETROK_KP2
=
258
,
RETROK_KP3
=
259
,
RETROK_KP4
=
260
,
RETROK_KP5
=
261
,
RETROK_KP6
=
262
,
RETROK_KP7
=
263
,
RETROK_KP8
=
264
,
RETROK_KP9
=
265
,
RETROK_KP_PERIOD
=
266
,
RETROK_KP_DIVIDE
=
267
,
RETROK_KP_MULTIPLY
=
268
,
RETROK_KP_MINUS
=
269
,
RETROK_KP_PLUS
=
270
,
RETROK_KP_ENTER
=
271
,
RETROK_KP_EQUALS
=
272
,
RETROK_UP
=
273
,
RETROK_DOWN
=
274
,
RETROK_RIGHT
=
275
,
RETROK_LEFT
=
276
,
RETROK_INSERT
=
277
,
RETROK_HOME
=
278
,
RETROK_END
=
279
,
RETROK_PAGEUP
=
280
,
RETROK_PAGEDOWN
=
281
,
RETROK_F1
=
282
,
RETROK_F2
=
283
,
RETROK_F3
=
284
,
RETROK_F4
=
285
,
RETROK_F5
=
286
,
RETROK_F6
=
287
,
RETROK_F7
=
288
,
RETROK_F8
=
289
,
RETROK_F9
=
290
,
RETROK_F10
=
291
,
RETROK_F11
=
292
,
RETROK_F12
=
293
,
RETROK_F13
=
294
,
RETROK_F14
=
295
,
RETROK_F15
=
296
,
RETROK_NUMLOCK
=
300
,
RETROK_CAPSLOCK
=
301
,
RETROK_SCROLLOCK
=
302
,
RETROK_RSHIFT
=
303
,
RETROK_LSHIFT
=
304
,
RETROK_RCTRL
=
305
,
RETROK_LCTRL
=
306
,
RETROK_RALT
=
307
,
RETROK_LALT
=
308
,
RETROK_RMETA
=
309
,
RETROK_LMETA
=
310
,
RETROK_LSUPER
=
311
,
RETROK_RSUPER
=
312
,
RETROK_MODE
=
313
,
RETROK_COMPOSE
=
314
,
RETROK_HELP
=
315
,
RETROK_PRINT
=
316
,
RETROK_SYSREQ
=
317
,
RETROK_BREAK
=
318
,
RETROK_MENU
=
319
,
RETROK_POWER
=
320
,
RETROK_EURO
=
321
,
RETROK_UNDO
=
322
,
RETROK_LAST
,
RETROK_DUMMY
=
INT_MAX
/* Ensure sizeof(enum) == sizeof(int) */
RETROK_UNKNOWN
=
0
,
RETROK_FIRST
=
0
,
RETROK_BACKSPACE
=
8
,
RETROK_TAB
=
9
,
RETROK_CLEAR
=
12
,
RETROK_RETURN
=
13
,
RETROK_PAUSE
=
19
,
RETROK_ESCAPE
=
27
,
RETROK_SPACE
=
32
,
RETROK_EXCLAIM
=
33
,
RETROK_QUOTEDBL
=
34
,
RETROK_HASH
=
35
,
RETROK_DOLLAR
=
36
,
RETROK_AMPERSAND
=
38
,
RETROK_QUOTE
=
39
,
RETROK_LEFTPAREN
=
40
,
RETROK_RIGHTPAREN
=
41
,
RETROK_ASTERISK
=
42
,
RETROK_PLUS
=
43
,
RETROK_COMMA
=
44
,
RETROK_MINUS
=
45
,
RETROK_PERIOD
=
46
,
RETROK_SLASH
=
47
,
RETROK_0
=
48
,
RETROK_1
=
49
,
RETROK_2
=
50
,
RETROK_3
=
51
,
RETROK_4
=
52
,
RETROK_5
=
53
,
RETROK_6
=
54
,
RETROK_7
=
55
,
RETROK_8
=
56
,
RETROK_9
=
57
,
RETROK_COLON
=
58
,
RETROK_SEMICOLON
=
59
,
RETROK_LESS
=
60
,
RETROK_EQUALS
=
61
,
RETROK_GREATER
=
62
,
RETROK_QUESTION
=
63
,
RETROK_AT
=
64
,
RETROK_LEFTBRACKET
=
91
,
RETROK_BACKSLASH
=
92
,
RETROK_RIGHTBRACKET
=
93
,
RETROK_CARET
=
94
,
RETROK_UNDERSCORE
=
95
,
RETROK_BACKQUOTE
=
96
,
RETROK_a
=
97
,
RETROK_b
=
98
,
RETROK_c
=
99
,
RETROK_d
=
100
,
RETROK_e
=
101
,
RETROK_f
=
102
,
RETROK_g
=
103
,
RETROK_h
=
104
,
RETROK_i
=
105
,
RETROK_j
=
106
,
RETROK_k
=
107
,
RETROK_l
=
108
,
RETROK_m
=
109
,
RETROK_n
=
110
,
RETROK_o
=
111
,
RETROK_p
=
112
,
RETROK_q
=
113
,
RETROK_r
=
114
,
RETROK_s
=
115
,
RETROK_t
=
116
,
RETROK_u
=
117
,
RETROK_v
=
118
,
RETROK_w
=
119
,
RETROK_x
=
120
,
RETROK_y
=
121
,
RETROK_z
=
122
,
RETROK_DELETE
=
127
,
RETROK_KP0
=
256
,
RETROK_KP1
=
257
,
RETROK_KP2
=
258
,
RETROK_KP3
=
259
,
RETROK_KP4
=
260
,
RETROK_KP5
=
261
,
RETROK_KP6
=
262
,
RETROK_KP7
=
263
,
RETROK_KP8
=
264
,
RETROK_KP9
=
265
,
RETROK_KP_PERIOD
=
266
,
RETROK_KP_DIVIDE
=
267
,
RETROK_KP_MULTIPLY
=
268
,
RETROK_KP_MINUS
=
269
,
RETROK_KP_PLUS
=
270
,
RETROK_KP_ENTER
=
271
,
RETROK_KP_EQUALS
=
272
,
RETROK_UP
=
273
,
RETROK_DOWN
=
274
,
RETROK_RIGHT
=
275
,
RETROK_LEFT
=
276
,
RETROK_INSERT
=
277
,
RETROK_HOME
=
278
,
RETROK_END
=
279
,
RETROK_PAGEUP
=
280
,
RETROK_PAGEDOWN
=
281
,
RETROK_F1
=
282
,
RETROK_F2
=
283
,
RETROK_F3
=
284
,
RETROK_F4
=
285
,
RETROK_F5
=
286
,
RETROK_F6
=
287
,
RETROK_F7
=
288
,
RETROK_F8
=
289
,
RETROK_F9
=
290
,
RETROK_F10
=
291
,
RETROK_F11
=
292
,
RETROK_F12
=
293
,
RETROK_F13
=
294
,
RETROK_F14
=
295
,
RETROK_F15
=
296
,
RETROK_NUMLOCK
=
300
,
RETROK_CAPSLOCK
=
301
,
RETROK_SCROLLOCK
=
302
,
RETROK_RSHIFT
=
303
,
RETROK_LSHIFT
=
304
,
RETROK_RCTRL
=
305
,
RETROK_LCTRL
=
306
,
RETROK_RALT
=
307
,
RETROK_LALT
=
308
,
RETROK_RMETA
=
309
,
RETROK_LMETA
=
310
,
RETROK_LSUPER
=
311
,
RETROK_RSUPER
=
312
,
RETROK_MODE
=
313
,
RETROK_COMPOSE
=
314
,
RETROK_HELP
=
315
,
RETROK_PRINT
=
316
,
RETROK_SYSREQ
=
317
,
RETROK_BREAK
=
318
,
RETROK_MENU
=
319
,
RETROK_POWER
=
320
,
RETROK_EURO
=
321
,
RETROK_UNDO
=
322
,
RETROK_LAST
,
RETROK_DUMMY
=
INT_MAX
/* Ensure sizeof(enum) == sizeof(int) */
};
enum
retro_mod
{
RETROKMOD_NONE
=
0x0000
,
RETROKMOD_NONE
=
0x0000
,
RETROKMOD_SHIFT
=
0x01
,
RETROKMOD_CTRL
=
0x02
,
RETROKMOD_ALT
=
0x04
,
RETROKMOD_META
=
0x08
,
RETROKMOD_SHIFT
=
0x01
,
RETROKMOD_CTRL
=
0x02
,
RETROKMOD_ALT
=
0x04
,
RETROKMOD_META
=
0x08
,
RETROKMOD_NUMLOCK
=
0x10
,
RETROKMOD_CAPSLOCK
=
0x20
,
RETROKMOD_SCROLLOCK
=
0x40
,
RETROKMOD_NUMLOCK
=
0x10
,
RETROKMOD_CAPSLOCK
=
0x20
,
RETROKMOD_SCROLLOCK
=
0x40
,
RETROKMOD_DUMMY
=
INT_MAX
/* Ensure sizeof(enum) == sizeof(int) */
RETROKMOD_DUMMY
=
INT_MAX
/* Ensure sizeof(enum) == sizeof(int) */
};
/* If set, this call is not part of the public libretro API yet. It can
/* If set, this call is not part of the public libretro API yet. It can
* change or be removed at any time. */
#define RETRO_ENVIRONMENT_EXPERIMENTAL 0x10000
/* Environment callback to be used internally in frontend. */
...
...
@@ -453,11 +453,11 @@ enum retro_mod
#define RETRO_ENVIRONMENT_SET_ROTATION 1
/* const unsigned * --
* Sets screen rotation of graphics.
* Is only implemented if rotation can be accelerated by hardware.
* Valid values are 0, 1, 2, 3, which rotates screen by 0, 90, 180,
* Valid values are 0, 1, 2, 3, which rotates screen by 0, 90, 180,
* 270 degrees counter-clockwise respectively.
*/
#define RETRO_ENVIRONMENT_GET_OVERSCAN 2
/* bool * --
* Boolean value whether or not the implementation should use overscan,
* Boolean value whether or not the implementation should use overscan,
* or crop away overscan.
*/
#define RETRO_ENVIRONMENT_GET_CAN_DUPE 3
/* bool * --
...
...
@@ -465,15 +465,15 @@ enum retro_mod
* passing NULL to video frame callback.
*/
/* Environ 4, 5 are no longer supported (GET_VARIABLE / SET_VARIABLES),
* and reserved to avoid possible ABI clash.
*/
/* Environ 4, 5 are no longer supported (GET_VARIABLE / SET_VARIABLES),
* and reserved to avoid possible ABI clash.
*/
#define RETRO_ENVIRONMENT_SET_MESSAGE 6
/* const struct retro_message * --
* Sets a message to be displayed in implementation-specific manner
* Sets a message to be displayed in implementation-specific manner
* for a certain amount of 'frames'.
* Should not be used for trivial messages, which should simply be
* logged via RETRO_ENVIRONMENT_GET_LOG_INTERFACE (or as a
* Should not be used for trivial messages, which should simply be
* logged via RETRO_ENVIRONMENT_GET_LOG_INTERFACE (or as a
* fallback, stderr).
*/
#define RETRO_ENVIRONMENT_SHUTDOWN 7
/* N/A (NULL) --
...
...
@@ -482,501 +482,513 @@ enum retro_mod
* way to shutdown the game from a menu item or similar.
*/
#define RETRO_ENVIRONMENT_SET_PERFORMANCE_LEVEL 8
/* const unsigned * --
* Gives a hint to the frontend how demanding this implementation
* is on a system. E.g. reporting a level of 2 means
* this implementation should run decently on all frontends
* of level 2 and up.
*
* It can be used by the frontend to potentially warn
* about too demanding implementations.
*
* The levels are "floating".
*
* This function can be called on a per-game basis,
* as certain games an implementation can play might be
* particularly demanding.
* If called, it should be called in retro_load_game().
*/
/* const unsigned * --
* Gives a hint to the frontend how demanding this implementation
* is on a system. E.g. reporting a level of 2 means
* this implementation should run decently on all frontends
* of level 2 and up.
*
* It can be used by the frontend to potentially warn
* about too demanding implementations.
*
* The levels are "floating".
*
* This function can be called on a per-game basis,
* as certain games an implementation can play might be
* particularly demanding.
* If called, it should be called in retro_load_game().
*/
#define RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY 9
/* const char ** --
* Returns the "system" directory of the frontend.
* This directory can be used to store system specific
* content such as BIOSes, configuration data, etc.
* The returned value can be NULL.
* If so, no such directory is defined,
* and it's up to the implementation to find a suitable directory.
*
* NOTE: Some cores used this folder also for "save" data such as
* memory cards, etc, for lack of a better place to put it.
* This is now discouraged, and if possible, cores should try to
* use the new GET_SAVE_DIRECTORY.
*/
/* const char ** --
* Returns the "system" directory of the frontend.
* This directory can be used to store system specific
* content such as BIOSes, configuration data, etc.
* The returned value can be NULL.
* If so, no such directory is defined,
* and it's up to the implementation to find a suitable directory.
*
* NOTE: Some cores used this folder also for "save" data such as
* memory cards, etc, for lack of a better place to put it.
* This is now discouraged, and if possible, cores should try to
* use the new GET_SAVE_DIRECTORY.
*/
#define RETRO_ENVIRONMENT_SET_PIXEL_FORMAT 10
/* const enum retro_pixel_format * --
* Sets the internal pixel format used by the implementation.
* The default pixel format is RETRO_PIXEL_FORMAT_0RGB1555.
* This pixel format however, is deprecated (see enum retro_pixel_format).
* If the call returns false, the frontend does not support this pixel
* format.
*
* This function should be called inside retro_load_game() or
* retro_get_system_av_info().
*/
/* const enum retro_pixel_format * --
* Sets the internal pixel format used by the implementation.
* The default pixel format is RETRO_PIXEL_FORMAT_0RGB1555.
* This pixel format however, is deprecated (see enum retro_pixel_format).
* If the call returns false, the frontend does not support this pixel
* format.
*
* This function should be called inside retro_load_game() or
* retro_get_system_av_info().
*/
#define RETRO_ENVIRONMENT_SET_INPUT_DESCRIPTORS 11
/* const struct retro_input_descriptor * --
* Sets an array of retro_input_descriptors.
* It is up to the frontend to present this in a usable way.
* The array is terminated by retro_input_descriptor::description
* being set to NULL.
* This function can be called at any time, but it is recommended
* to call it as early as possible.
*/
/* const struct retro_input_descriptor * --
* Sets an array of retro_input_descriptors.
* It is up to the frontend to present this in a usable way.
* The array is terminated by retro_input_descriptor::description
* being set to NULL.
* This function can be called at any time, but it is recommended
* to call it as early as possible.