Commit Graph

208 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
twinaphex
7a2c78ae68 Start unifying global init/deinit code for console 2013-04-22 22:16:46 +02:00
Themaister
0e61461c07 Should fix very strange flickering bug. 2013-04-22 21:10:17 +02:00
Themaister
7a73c4f51c Log core option GET_VARIABLE correctly. 2013-04-15 16:04:08 +02:00
twinaphex
250b52c130 (RARCH_CONSOLE) Build fix for now - dummy loading sidestepped
for now until solution arrives
2013-04-14 17:15:57 +02:00
Themaister
1395c32937 Add dummy core loading. 2013-04-14 16:29:30 +02:00
Themaister
77164d18ca Begin adding core options interface. 2013-04-04 13:58:30 +02:00
Themaister
063a2e091c Be more explicit about GLES2 or GL context. 2013-03-29 15:26:47 +01:00
Themaister
1cececac18 Add get_proc_address.
Render something "real" in GL.
2013-03-28 01:11:32 +01:00
Themaister
af40f3e9b8 Add initial GL direct rendering test. 2013-03-27 16:15:15 +01:00
Themaister
ab93fa6bd2 Use more approriate namespacing.
Replace get_libretro_core_name namespacing.
2013-03-22 23:42:34 +01:00
twinaphex
1f54ac4bd9 Fix PC build (change to dynamic.c) 2013-03-22 20:56:23 +01:00
twinaphex
7e0afcf610 move get _libretro_core_name to dynamic.c 2013-03-22 20:54:33 +01:00
Themaister
c0cbe1aa43 Can query system_info for any lib. 2013-03-17 20:11:02 +01:00
Themaister
e3dfba2c34 Add preliminary disk swapping interface.
Works with Mednafen's disk swapping model.
2013-02-21 23:44:07 +01:00
Themaister
0b4cf2d053 Update license headers to 2013. 2013-01-01 01:41:15 +01:00
meancoot
e60bb1d168 Add RETRO_ENVIRONMENT_SET_KEYBOARD_CALLBACK. An interface for allowing keyboard event data to be sent to the core. 2012-11-25 20:23:31 -05:00
twinaphex
a510387e9e remove ifndef around XRGB8888 for RARCH_CONSOLE 2012-11-10 15:44:59 +01:00
Themaister
93078889cc Begin reworking RGB565 as default pixel format. 2012-10-20 01:12:02 +02:00
Themaister
e5c24f963a Move HAVE_DYNAMIC ifdef. 2012-10-14 20:21:14 +02:00
Themaister
6574171f16 Ifdef for HAVE_DYNAMIC. 2012-10-14 20:10:07 +02:00
Themaister
8a1327cefd Add directory support for libretro_path/-L. 2012-10-11 22:31:47 +02:00
Themaister
069cffb7b9 Fix broken build on Win32. 2012-10-03 23:33:17 +02:00
twinaphex
b814f9c00d (DYLIB) If dlopen fails, return specific error message with dlerror
so we know what's happening
2012-10-03 23:16:32 +02:00
Themaister
9c462e19b7 Add basic turbo support. 2012-10-01 22:16:16 +02:00
Themaister
8981dd6c6b Add RETRO_ENVIRONMENT_SET_INPUT_DESCRIPTORS. 2012-09-09 23:35:23 +02:00
Twinaphex
714837e8c0 (RARCH_CONSOLE) Namespaced all files in console/ 2012-07-28 15:54:35 +02:00
Twinaphex
4ba68cf450 Snes-isms changed 2012-07-07 16:28:01 +02:00
Twinaphex
f0026384d3 (Console) Rename console_ext.c to retroarch_console.c 2012-06-28 17:52:51 +02:00
Themaister
e5b3a61f9f Replace use of unsafe strtok() with strtok_r.
Implement compatibility for strtok_r() on Win32.
2012-06-24 02:37:19 +02:00
Themaister
951721d2ab Clean up ifdef properly this time ... 2012-06-22 19:03:46 +02:00
Themaister
53f645ed0b Add SET_PIXEL_FORMAT environ. 2012-06-16 15:07:31 +02:00
Themaister
4ee0bde039 Add RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY. 2012-06-12 00:28:34 +02:00
Themaister
b2387e06bc Add RETRO_ENVIRONMENT_SET_PERFORMANCE_LEVEL. 2012-06-01 16:50:38 +02:00
Themaister
d2b55f38cd Add RETRO_ENVIRONMENT_SHUTDOWN. 2012-05-22 20:14:07 +02:00
Themaister
8e85275418 Do not look for libretro.so by default. 2012-04-28 10:06:10 +02:00
Themaister
ce740f8948 More fixups. 2012-04-21 23:31:57 +02:00
Themaister
aab8fb6151 ssnes_* => rarch_*. 2012-04-21 23:25:32 +02:00
Themaister
9ab51ad23a SSNES => RetroArch. 2012-04-21 23:17:43 +02:00
Themaister
7c5c04bf36 Warning fixups. 2012-04-10 00:37:30 +02:00
Themaister
e3a71a8c5b Fixup headers. 2012-04-09 22:05:26 +02:00
Themaister
e012e290ae Builds clean. 2012-04-09 22:04:44 +02:00
Themaister
5d51942f69 libretro fixups. 2012-04-09 22:04:43 +02:00
Themaister
cd3c9a548c Begin fixing up SSNES for libretro. 2012-04-09 22:03:57 +02:00
Themaister
62c96ea937 Change license header. 2012-04-09 22:03:57 +02:00
Themaister
9698cd7dbd Change headers. 2012-04-09 22:03:57 +02:00
Themaister
fdcfd3fc71 SET_CORE_VERSION. 2012-04-01 20:11:19 +02:00
Themaister
2178a14952 Find drivers before snes_init() to allow rotation to work properly. 2012-04-01 19:38:50 +02:00
Themaister
34bdea0f1c Add rotation to GL driver (PC). 2012-04-01 19:20:37 +02:00
Themaister
38a4141eef Add allow_rotate. 2012-04-01 16:13:04 +02:00
Themaister
5d4e32ef9d Add support for rotation. 2012-03-30 19:09:34 +02:00