Commit Graph

284 Commits

Author SHA1 Message Date
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
Themaister
104c92fa5d Add audio batch callback. 2012-03-27 22:24:46 +02:00
Themaister
63274f6f61 Only allow duping if ffmpeg is compiled in. 2012-03-21 22:36:11 +01:00
Themaister
9ab02b12be Move compat functionality to compat/. 2012-03-16 23:26:57 +01:00
TwinAphex51224
8781b5c7d3 (360) Works now - environment settings were getting 'defaulted'
- placed init_libsnes_syms now right before menu_init
2012-03-12 04:34:49 +01:00
TwinAphex51224
ed4a81e497 (360) More of aforementioned 2012-03-12 03:53:44 +01:00
Themaister
d7afd20346 Add new extensions to help FBA. 2012-03-12 00:39:24 +01:00
Themaister
37c29144d8 Log error code on dylib failure in Windows. 2012-03-05 21:40:00 +01:00
Themaister
38d73e9da2 Use SSNES_CONSOLE. 2012-02-12 20:56:57 +01:00
Themaister
9c861f13be Fix additional exclamation marks. 2012-02-11 21:16:01 +01:00
Themaister
3bda32d6f1 Add SET_VARIABLES interface. 2012-02-06 16:13:29 +01:00
Themaister
fea632b0e9 Add environment variable system extension. 2012-02-06 15:51:35 +01:00
Themaister
abf34c06c1 Attempt to always return from ssnes_main_init() when errors occur. 2012-01-14 16:08:54 +01:00
Themaister
b4248038fb Update license headers. 2012-01-08 01:12:05 +01:00
Themaister
d66e039536 Fix 15->16 bit conversions. 2012-01-02 15:43:46 +01:00
Themaister
672102d377 Change asserts to ssnes_assert(). 2011-12-25 12:47:47 +01:00
Themaister
d5fca50a2f Can build for C++. 2011-12-24 15:26:01 +01:00
Themaister
093ba1c33d Dynamic fix. 2011-12-04 18:06:50 +01:00
TwinAphex51224
99ad7bcc51 Merge branch 'master' of github.com:Themaister/SSNES into ssnes-consoles 2011-12-04 03:43:52 +01:00
Themaister
425af71450 GET_CAN_REWIND. 2011-12-04 01:40:25 +01:00
Themaister
8a5c537e15 Fix warning. 2011-12-03 04:09:40 +01:00
Themaister
c8d3278dbc Merge branch 'master' of github.com:Themaister/SSNES into ssnes-consoles 2011-12-02 19:15:21 +01:00
Themaister
3556445660 Add new extension support. 2011-12-02 19:12:47 +01:00
Themaister
0738480439 Make sure set_defaults is called. 2011-12-02 02:48:04 +01:00
Themaister
5ab7664f49 Merge branch 'master' of github.com:Themaister/SSNES into ssnes-consoles 2011-12-02 02:48:26 +01:00
Themaister
08ef01bb13 Merge branch 'master' of github.com:Themaister/SSNES into ssnes-consoles
Conflicts:
	dynamic.c
2011-12-02 00:07:54 +01:00
Themaister
9d124b2380 Do not use anything dylib related if not compiled in. 2011-12-01 22:36:26 +01:00
Themaister
e7f1526942 Fix compilation errors. 2011-12-01 21:54:42 +01:00
Themaister
a5b3f421d1 Fix include paths for libsnes header. 2011-11-30 17:32:30 +01:00
TwinAphex51224
1fa7663d3b Put in old input driver too - progresses to dynamic.c now 2011-11-30 17:24:18 +01:00
Themaister
604eb9b973 Can dupe extension. 2011-11-22 17:27:02 +01:00
Themaister
3e7c412738 Custom timing support for FFmpeg recording. 2011-11-16 18:56:42 +01:00
Themaister
7815940a97 SNES_ENVIRONMENT_OVERSCAN. 2011-11-09 22:18:48 +01:00
Themaister
f85ff7124b More nits. 2011-11-02 19:34:08 +01:00
Themaister
0f010cf3d2 Fix style nits. 2011-11-02 19:31:36 +01:00
Themaister
66510e21aa Fixup build for non dynamic builds. 2011-10-28 00:34:42 +02:00
Themaister
ec5e3355b9 Add some logging. 2011-10-28 00:23:49 +02:00
Themaister
0522a2d6a0 Start implementing some minor extensions to libsnes. 2011-10-27 23:40:34 +02:00
Themaister
f48247a18b Style nits ... 2011-10-15 12:56:48 +02:00
Themaister
f6d4d32c03 Dynamic loading by default, add OSD message for netplay DC. 2011-10-05 21:44:17 +02:00
Themaister
56a4d1ddac Attempt to check for mysterious crashes :D 2011-08-23 17:10:02 +02:00
Themaister
44c52ca4f8 Add -pedantic for shits 'n giggles.
Fix portability issues with void* -> void (*)(void) casts.
Use a more ... bizarre technique ;)
2011-05-31 15:03:59 +02:00
Themaister
092fa9d531 Get initial cheat support down. 2011-04-17 13:30:59 +02:00
Themaister
48dcd174a7 Add resetting support. (About time, ey?! :D) 2011-03-24 20:41:28 +01:00
Themaister
ec51ceb010 Add usage of snes_library_id(). 2011-03-17 01:25:44 +01:00
Themaister
1cf9381cb0 Fix colormaps and stuff. 2011-03-07 19:56:40 +01:00
Themaister
f94dc125e5 An initial take on bsnes CPU filters. 2011-03-07 19:12:14 +01:00
Themaister
2267c7d048 Update licensing headers. 2011-01-23 20:29:28 +01:00
Themaister
ed172fd1e4 Add dynamic loading for Win32. 2011-01-19 13:25:18 +01:00
Themaister
c7e6e73bcb Fix a blooper in headers. 2011-01-17 20:54:58 +01:00
Themaister
c36608b6db Update print_help() and add dynamics for rest of rom loading. 2011-01-12 19:24:20 +01:00
Themaister
e6aa065781 Add some more abstractions for file loading. Also add initial SGB rom
loading!
2011-01-12 18:05:57 +01:00
Themaister
9e09b55e89 Add psnes_get_region which was missing. 2011-01-11 16:53:31 +01:00
Themaister
b24bb82d0c Start adding mouse and scope support. 2011-01-10 07:58:11 +01:00
Themaister
2a4995c21f Starting Win32 support. 2011-01-07 17:59:53 +01:00
Themaister
b47f58c338 Add Jack audio driver. 2011-01-01 03:53:30 +01:00
Themaister
7e9a2a6e23 Should fix up dynamic loading by disabling internal link of the library as well... 2010-12-30 14:26:12 +01:00
Themaister
19e2b2768b Fix up some issues with dynamic loading. 2010-12-30 14:11:56 +01:00
Themaister
73203b75c1 Dynamic loading of libsnes. 2010-12-30 13:54:49 +01:00