Commit Graph

360 Commits

Author SHA1 Message Date
twinaphex
8882f762c4 Start hooking up imageviewer, pt. 1 2015-06-28 17:02:01 +02:00
Alcaro
febcbc5ce4 C89 cleanups part 2 2015-06-26 17:48:43 +02:00
twinaphex
7bf6d1e5bb (dynamic.c) cleanups 2015-06-25 14:13:51 +02:00
twinaphex
c8eca5b06a Create rarch_system_info_free 2015-06-25 13:57:24 +02:00
twinaphex
732d2db40e Divorce system info from global runloop state entirely 2015-06-25 13:50:52 +02:00
twinaphex
fa8bbabce7 (dynamic.c) Use rarch_system_info_get_ptr 2015-06-25 12:57:54 +02:00
twinaphex
70af1c149b Prevent unused variable warning 2015-06-22 08:02:03 +02:00
twinaphex
d3f0954418 Start preparing internal ffmpeg core mechanisms 2015-06-21 00:03:27 +02:00
twinaphex
6f1bc69fc7 Refactor libretro_dummy mechanics 2015-06-20 23:42:30 +02:00
twinaphex
9b267e9802 (Cores) Move test cores to cores/, move dynamic_dummy to cores/ 2015-06-20 23:14:09 +02:00
twinaphex
c36e21ed13 (General) Cleanup 2015-06-12 17:00:37 +02:00
twinaphex
e67f3f246d Rearrange header include dependencies 2015-06-02 17:17:46 +02:00
twinaphex
d2b76a7d13 Move pix_fmt to video_state 2015-05-20 20:59:12 +02:00
twinaphex
a81baed9e2 Move hw_render_callbakc to video driver state and take it out
of global state
2015-05-20 19:56:12 +02:00
twinaphex
a053b41223 Create video_viewport_get_system_av_info and video_viewport_get_custom -
move custom viewport and system av info outside of global state
2015-05-20 18:57:17 +02:00
twinaphex
398570f017 Move audio callback to audio_driver.c 2015-05-19 21:35:40 +02:00
twinaphex
0818b178f9 Rename rarch_main_command to event_command 2015-04-13 11:26:02 +02:00
Twinaphex
de2eb5f972 Rename RARCH_CMD_* to EVENT_CMD_* 2015-04-13 10:29:15 +02:00
twinaphex
812a873f0c Create dylib.c - split up dylib functions 2015-04-08 07:57:16 +02:00
radius
599d09c7ce move pretro_set_environment(rarch_environment_cb); after init_libretro_sym so core_options and libretro_path can be overriden 2015-04-06 00:01:33 -05:00
twinaphex
5f8407e16c Use input_driver_get_capabilities 2015-03-23 04:18:27 +01:00
twinaphex
de8d41a0f8 Use video_driver_set_rotation 2015-03-22 10:38:26 +01:00
twinaphex
e6f0d366cb Go through global_get_ptr 2015-03-21 04:43:18 +01:00
twinaphex
6cefa69aa4 Go through settings pointer 2015-03-20 19:48:23 +01:00
twinaphex
3670ef2ac5 Go through driver_get_ptr to grab pointer to driver struct 2015-03-18 19:40:00 +01:00
twinaphex
4f25b67baa Rename 'content_directory' to 'core_assets_directory' so it's more
understandable. NOTE: Nobody ever used GET_CONTENT_DIRECTORY so it's
permissible to change it since nobody will be affected by the change
to GET_CORE_ASSETS_DIRECTORY
2015-03-16 02:59:30 +01:00
twinaphex
00239a30d6 Create wrapper functions for passing a message to the runloop's
message queue
2015-03-15 02:47:23 +01:00
twinaphex
795ef467ac Move msg_queue and nbio/http to runloop struct 2015-03-07 13:01:41 +01:00
twinaphex
8f5809ee46 Take out make_current_context 2015-02-16 23:41:49 +01:00
Alcaro
0acccbfa43 Why are we trying to support both the experimental and final version of something that's still experimental? 2015-02-08 18:42:40 +01:00
twinaphex
90e5cffab8 Add RETRO_ENVIRONMENT_MAKE_CURRENT_CONTEXT 2015-02-08 18:39:12 +01:00
twinaphex
bb481a158c Move get_proc_address/get_current_framebuffer to gfx/video_driver.c 2015-01-19 04:19:30 +01:00
twinaphex
3ec9005c5c Move set_rumble function to input/input_driver.c 2015-01-19 04:16:43 +01:00
twinaphex
be3ac6eccd Split up sensor code into its own file 2015-01-18 19:28:51 +01:00
twinaphex
e708e031d6 Add documentation to dynamic.c 2015-01-15 02:48:40 +01:00
twinaphex
af657a3b47 Start documenting dynamic.c 2015-01-09 21:30:07 +01:00
twinaphex
ec22bada36 Add retroarch.h header 2015-01-09 17:40:47 +01:00
twinaphex
90076c5fad Start using MAX_PATH_LENGTH - relying on MAX_PATH for 360 can cause
problems because it's defined at '260' and thus too small for some
strings
2015-01-07 20:42:36 +01:00
twinaphex
453321c50b Start updating headers 2015-01-07 17:46:50 +01:00
twinaphex
a829a26b49 SET_INPUT_DESCRIPTORS - only log max users 2015-01-05 15:47:27 +01:00
twinaphex
f39157e39a Change mentions of 'Player' to ' User' 2015-01-05 02:03:17 +01:00
twinaphex
7a456c6c3a Rename MAX_PLAYERS to MAX_USERS 2015-01-05 01:58:00 +01:00
Twinaphex
cf5fac136a Fix variable shadowing 2014-12-05 14:29:40 +01:00
twinaphex
6615f26749 Can set RETRO_DEVICE_ANALOG with input descriptors now too 2014-12-04 14:53:29 +01:00
twinaphex
1e1457c45c Improvements to input descriptors being shown 2014-12-04 13:45:56 +01:00
twinaphex
0e0d62a97b Set g_extern.frontend_key_event to new keyboard callback as soon as RETRO_ENVIRONMENT_SET_KEYBOARD_CALLBACK is called 2014-10-30 06:19:51 +01:00
twinaphex
9a9fa6532a Move file_path.c to libretro SDK 2014-10-22 00:23:06 +02:00
twinaphex
2ed38b7288 Reduce header includes pt. 2 2014-10-21 19:10:14 +02:00
twinaphex
7472922ee0 Move compat/ over to libretro SDK 2014-10-21 07:58:58 +02:00
twinaphex
c62d52de0f Start properly implementing libretro SDK for boolean.h include
header, glsym, and rthreads
2014-10-21 05:05:52 +02:00
twinaphex
42bb37816e Take file_path.h include out of file.h 2014-10-20 21:51:04 +02:00
Twinaphex
f7a735bf11 dynamic.c - Silence 'declaration shadows global variable' 2014-10-14 22:14:14 +02:00
twinaphex
d6d6895f31 Cleanups 2014-10-03 13:54:06 +02:00
twinaphex
e6a79f798b Refactor MODE_EXITSPAWN and MODE_EXITSPAWN_START_GAME 2014-10-02 21:39:29 +02:00
twinaphex
dead11f182 Move driver_active variables over to driver global 2014-10-01 22:34:48 +02:00
twinaphex
1a94f14e50 Move recording and resampler drivers to 'driver' global struct -
moving it outside of g_extern
2014-09-30 21:23:00 +02:00
twinaphex
3b5fbeb269 Fix non-HAVE_DYNAMIC cores 2014-09-23 03:07:33 +02:00
Higor Eurípedes
aa5810ba15 Fix environment callback regression 2014-09-21 09:33:51 -03:00
twinaphex
430e0f1911 Reimplement rarch_main_iterate - menu iteration frame now gets
called from here too. Do away with the hoky 'MENU_GAME' state
as well.
2014-09-21 09:18:26 +02:00
Lioncash
f8499aa71a Sanitize against NULL in some free-like functions. 2014-09-15 09:30:27 -04:00
twinaphex
aade2b45ef Style / indent nits 2014-09-09 05:24:32 +02:00
Lioncash
ab1ab62a6d Fix some printf specifiers to the correct signed-ness 2014-09-05 19:43:32 -04:00
twinaphex
ca72ddeaf9 (RARCH_CONSOLE) Build fix 2014-09-05 03:47:41 +02:00
twinaphex
d539bed82c Hide more manipulation of lifecycle_state behind rarch_main_set_state
function
2014-09-03 18:36:46 +02:00
Mike Robinson
193801b35e Add --enable-preserve_dylib configure option
Valgrind requires shared objects to be kept open for meaningful
debug information. Add configure option to disable dlclose() in
dylib_close() for Valgrind support.
2014-09-02 21:12:24 +01:00
twinaphex
0856091296 Cleanups - 80-char limit 2014-09-02 05:57:53 +02:00
twinaphex
c34e5428c0 (Menu) Go through RARCH_CMD_VIDEO_SET_ASPECT_RATIO 2014-08-16 18:46:43 +02:00
twinaphex
823be1ce41 Get rid of more driver_funcs macros 2014-08-15 20:51:59 +02:00
twinaphex
eb1d78bab7 Rename history.c to playlist.c 2014-08-15 17:24:28 +02:00
twinaphex
e1a122843b Add null camera - remove HAVE_CAMERA ifdefs 2014-08-14 02:55:04 +02:00
twinaphex
027bd68bb3 Add location/null.c - get rid of HAVE_LOCATION ifdefs 2014-08-14 02:15:48 +02:00
twinaphex
fcbbf08109 (Recording) Bake in HAVE_RECORD implicitly 2014-08-12 05:28:43 +02:00
twinaphex
f027acd5cf Rename game_history_size to content_history_size 2014-08-12 04:57:31 +02:00
twinaphex
3053d2018a Add RETRO_ENVIRONMENT_GET_LANGUAGE to rarch_environment_cb 2014-08-01 07:45:56 +02:00
twinaphex
9dadfc0b19 Rename Netplay Nickname to Username and make it not dependent
on HAVE_NETPLAY
2014-08-01 05:04:59 +02:00
twinaphex
69f2cc9f1a Add RETRO_ENVIRONMENT_GET_USER_NAME 2014-08-01 04:37:00 +02:00
twinaphex
272002310d Rename more references to 'roms' 2014-07-28 20:01:27 +02:00
twinaphex
59f8e75ee1 Rename load_no_rom to load_no_content 2014-07-28 19:37:25 +02:00
twinaphex
87a21b2e13 Rename ROM history to Content history 2014-07-22 05:01:35 +02:00
Themaister
a392cd9ebd Fix GLES_VERSION #ifdef. 2014-06-16 21:02:42 +02:00
Themaister
53bc4c08ed Check recording based on g_extern.rec and not g_extern.recording.
Fixes some segfaults where g_extern.recording and g_extern.rec mismatch.
Makes it possible to record without loading content directly from CLI.
2014-06-16 15:50:53 +02:00
Themaister
b88d4d2a75 Add RETRO_ENVIRONMENT_SET_GEOMETRY. 2014-06-07 13:21:31 +02:00
twinaphex
08c8e5fb5f Reduce amount of includes for rarch_console.h 2014-06-01 03:08:26 +02:00
Themaister
05eac0c8a2 Add new libretro_directory.
Avoid kinda-weird dual purpose of g_settings.libretro.
2014-05-09 18:51:20 +02:00
Themaister
583514ae95 Add support for GLES 3.1+. 2014-05-03 15:21:14 +02:00
twinaphex
08965cfa0d Change HAVE_FFMPEG ifdefs into HAVE_RECORD - recording will get
a proper interface soon so there can be multiple implementations
instead of just ffmpeg
2014-05-03 00:21:07 +02:00
Themaister
4f27faf035 Log appropriate controller index. 2014-04-12 19:06:37 +02:00
Themaister
aafe28bb14 Add some testing of new controller info API to libretro-test. 2014-04-12 13:59:19 +02:00
Themaister
b4eaf81fed Begin implementing SET_CONTROLLER_INFO. 2014-04-12 13:22:24 +02:00
twinaphex
3da5205efa (Console) Build fix for libretro_find_subsystem_info 2014-04-07 23:02:12 +02:00
Themaister
9f5a714615 Rename to SET_SUBSYSTEM_INFO.
Add test case.
2014-04-04 17:04:01 +02:00
Themaister
72ad4d937e More verbose logging of subsystems. 2014-04-04 16:02:53 +02:00
Themaister
c81de5119d Initial take on subsystems support. 2014-04-04 14:58:42 +02:00
Themaister
52c32072ec Add log level support for libretro cores. 2014-03-01 12:02:48 +01:00
Themaister
60b1b8523d Add test case for SET_SYSTEM_AV_INFO in libretro-test/. 2014-02-20 23:05:56 +01:00
Themaister
21c383f77a Add initial SET_SYSTEM_AV_INFO environ. 2014-02-20 22:48:31 +01:00
Themaister
c9854deeec Update libretro.h docs. Fix conditional string check. 2014-02-07 09:32:15 +01:00
AndresSM
ebc0bc641d Fix a typo on the previous commit 2014-02-07 02:14:02 -05:00
AndresSM
0428b44e94 Add RETRO_ENVIRONMENT_GET_SAVE_DIRECTORY 2014-02-07 01:56:41 -05:00
twinaphex
d9653b2add (PS3) Don't support SET_AUDIO_CALLBACK right now for PS3 2014-01-22 02:20:23 +01:00
twinaphex
460670f074 Move sensor value reading to retro_sensor_interface 2014-01-20 14:52:53 +01:00
twinaphex
0a15a17d44 Update years on all license headers 2014-01-01 01:50:59 +01:00
twinaphex
244fdb6030 Fix broken GET_CONTENT_DIRECTORY environ callback 2013-12-26 22:46:46 +01:00
Themaister
b23ff3b663 Refactor content_directory.
It shouldn't be RGUI browser dir. Instead it is a more developer centric
option for when libretro apps are distributed (along with RetroArch for
example). Also facilitates a standardized assets folder later on if
applicable.
2013-12-26 02:03:11 +01:00
twinaphex
204113e389 Add environ callback to expose 'Content Directory' path to core -
and refactor g_settings.rgui_browser_directory
2013-12-25 02:31:35 +01:00
twinaphex
f0aa0f99fd (Location) Reimplement some parts of the location interface - get_latitude
and get_longitude are gone now in place of get_position. Basically,
from C land we basically do a poll-style queries, but on the
implementation side (ie. Android/iOS/OSX) - they all use callback-based
location updates. So we simply check in the poll function (get_position)
whether position has changed, and if so, update the pointer values and
return true - if not, set them to 0 and return false.
2013-12-19 15:47:47 +01:00
Themaister
855cb54def Some cleanups to location interface.
Avoid three redundant fields in struct.
Use unsigned instead of int for argument for API consistency.
2013-12-19 10:15:55 +01:00
twinaphex
031a9d05be (Location) Environ GET_LOCATION_INTERFACE should be implemented now 2013-12-19 05:51:25 +01:00
twinaphex
7bc2031272 dynamic.c - style nit 2013-12-19 03:17:27 +01:00
twinaphex
ccd2246331 (Apple) Build fixes 2013-12-19 03:16:13 +01:00
twinaphex
dfe42f4026 (Location) Add g_extern.system handle to retro_location_callback 2013-12-19 02:54:46 +01:00
twinaphex
742f85eafc Add HAVE_LOCATION - still need to write frontend drivers now for
location
2013-12-19 01:51:51 +01:00
Themaister
1c9895611b Rework performance interface.
Avoids super-ugly macros and retroarch-ifdefs.
2013-12-18 19:21:56 +01:00
twinaphex
9852c5dc4c Rewrite perf interface - exposes callbacks now for RETRO_PERFORMANCE_INIT/RETRO_PERFORMANCE_START/RETRO_PERFORMANCE_STOP calls without messy, hardcoded preprocessor-dependent variables in macros - will update cores accordingly too 2013-12-18 19:03:08 +01:00
twinaphex
b984a8d57e (Libretro) Expose perf_register too 2013-12-17 20:25:48 +01:00
twinaphex
166aa29443 (Libretro) Expose perf_log as callback too to libretro 2013-12-17 19:37:33 +01:00
twinaphex
38d785984f Add RETRO_ENVIRONMENT_GET_PERF_INTERFACE to libretro.h 2013-12-17 19:10:40 +01:00
Themaister
6031590cd3 Add OPENGLES3 context support in libretro GL. 2013-12-13 14:20:49 +01:00
Themaister
e3295e87cd Initial RETRO_ENVIRONMENT_GET_LOG_INTERFACE. 2013-12-09 10:32:12 +01:00
Themaister
dfff94e5a0 Rework camera interface.
Hook up a more proper interface for libretro. Still very experimental.
2013-11-12 16:02:26 +01:00
Themaister
d7d928dd5e environ should return false when HAVE_CAMERA is undefined. 2013-11-12 14:14:52 +01:00
twinaphex
4e7783c19b (dynamic.c) Fix fallthrough 2013-11-12 13:23:51 +01:00
twinaphex
c107b06a76 Add RETRO_ENVIRONMENT_SET_CAMERA_RETRIEVE 2013-11-12 12:00:57 +01:00
twinaphex
da8f8b6d63 Get rid of lifecycle_mode_state and use g_extern.lifecycle_state
instead
2013-11-07 21:44:44 +01:00
Themaister
ae07e75e7c Hook up sensors API in libretro.
There are still many FIXMEs to be resolved before the interface
can lose its experimental status.
2013-11-03 12:06:14 +01:00
Themaister
df4d0eb0cf Add RETRO_ENVIRONMENT_GET_INPUT_DEVICE_CAPABILITIES. 2013-11-02 21:40:31 +01:00
twinaphex
d2c87e3039 Convert most C99-style for loop initial declarations to C89-compliant
ones
2013-10-22 15:08:17 +02:00
Themaister
d215ec4ea8 Fix potential bug when HW render is used.
If e.g. D3D9 driver was used find_video_driver() would override GL
driver on reinit. Avoid this by doing this logic in find_video_driver()
instead.
2013-10-07 16:26:06 +02:00
Themaister
a01ef18f80 Add RETRO_ENVIRONMENT_GET_RUMBLE_INTERFACE. 2013-09-25 23:21:32 +02:00
Themaister
38ec55573c Rework SET_AUDIO_CALLBACK.
When disabling audio and/or muting, the core has no way
of knowing this, causing potential issues in a threaded mixer.

This environ is not used by any public core to my knowledge so the old
API has been removed and replaced with a change to environment number
(20 -> 22).
2013-09-14 17:28:09 +02:00
twinaphex
95f5e6aa96 Add RETRO_ENVIRONMENT_EXEC_ESCAPE -yes, I need this - when we are in
retro_run - we need to escape first before we can get the next libretro
core with input data running. This is not needed when we do exec without
being in the main program loop. Anyway, one does not work for the other -
so we need both.
2013-08-25 19:42:24 +02:00
twinaphex
6a3303d2b4 Need to put extra conditional in when triggering ENVIRON EXEC to
get out of the main iterate loop once so that it can start up
the next core with params
2013-08-25 15:51:42 +02:00
twinaphex
e1cc0c3160 RETRO_ENVIRONMENT_SET_LIBRETRO_PATH - returns false if path
file doesn't exist
2013-08-25 13:17:11 +02:00
Themaister
32cae444a0 Fixup new private extensions.
Moved private stuff to libretro_private.h.
Dropped use of retro_variable (redundant and wrong type).

Didn't understand difference between EXEC_LOAD and EXEC_RELOAD at all.
Only one was used anyways ...
2013-08-25 11:10:32 +02:00
twinaphex
edfab9630a Add RETRO_ENVIRONMENT_EXEC - refactor some stuff internally in
libretro frontend to implement this new functionality
2013-08-25 01:37:15 +02:00
twinaphex
7c81f554af Add RETRO_ENVIRONMENT_SET_LIBRETRO_PATH to libretro API. Also gives us opportunity
to write internal code - other libretro implementations can now just implement
this environ callback and have other external frontends of their own be able to swap
in/out libretro cores from outside
2013-08-24 22:35:54 +02:00
Themaister
bb0993b6eb Fix Android build. 2013-08-11 01:07:30 +02:00
Themaister
6a82db13d5 Fixups for frame time callback. 2013-08-11 01:05:33 +02:00
Themaister
f4a23115c2 Begin adding AUDIO_CALLBACK/FRAME_TIME_CALLBACK. 2013-08-11 01:05:33 +02:00
Themaister
318b26cc0d Fix Android build. 2013-08-11 00:55:05 +02:00
Themaister
b9fce188ea Initial work on core GL context support. 2013-08-11 00:50:04 +02:00
Themaister
b7fa652b1e Add RETRO_ENVIRONMENT_GET_LIBRETRO_PATH.
Vital for cores which do not load a ROM, but still want to load assets
somehow. Demos and the like ...
2013-07-07 13:24:08 +02:00
Themaister
a58eddae65 Flush message queue on ENVIRONMENT_SET_MESSAGE. 2013-06-16 11:04:41 +02:00
Themaister
df79b8ea3d Ensure that g_settings.libretro is absolute path.
Avoid issues when relative libretro paths are stored in ROM history.
2013-05-13 23:25:37 +02:00
Themaister
2e2efa2d09 Use default core options config. 2013-05-12 21:21:19 +02:00
Themaister
a9d322350b Clear out all of g_extern.system.
Should clear out all the silly bugs where some interfaces are not cleared out on
reentrancy.
2013-05-07 01:52:53 +02:00
Themaister
30b8af83b5 Clear out disk control interface on deinit. 2013-05-04 17:15:17 +02:00
Themaister
13f0a8548f Fix crash when rgui->info.library_name is NULL.
If retroarch was started with g_settings.libretro as a directory, and a
ROM loaded. Going into RGUI would see g_settings.libretro as a directory
and rgui->info wouldn't be properly initialized.

Fixed by updating g_settings.libretro if a specific core is resolved.
2013-05-04 14:32:00 +02:00
Themaister
f3cd25ebb7 Clean up load_no_rom grabbing interface. 2013-05-02 15:17:31 +02:00
Themaister
99990173cc Can load without ROM in RGUI (HAVE_DYNAMIC).
Not sure how this will work on RARCH_CONSOLE, but it'll probably be
checked for in startup on core load somehow and either start in menu or args->no_rom.
2013-05-02 14:46:05 +02:00