Commit Graph

158 Commits

Author SHA1 Message Date
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
Themaister
197c4db204 Add RETRO_ENVIRONMENT_SET_SUPPORT_NO_GAME.
Allows libretro core to not require a ROM to be loaded.
Kill stdin ROM loading support (pointless these days).
Replace "no ROM on CLI" behavior to be attempting to load a core with no
ROM.
2013-05-01 00:59:43 +02:00
twinaphex
389b62f8b7 Simplify static load_symbols function 2013-04-28 04:21:52 +02:00