Commit Graph

425 Commits

Author SHA1 Message Date
Themaister a14f0a2760 Log ID as well. 2014-04-12 13:25:48 +02:00
Themaister b4eaf81fed Begin implementing SET_CONTROLLER_INFO. 2014-04-12 13:22:24 +02:00
Themaister 9f5a714615 Rename to SET_SUBSYSTEM_INFO.
Add test case.
2014-04-04 17:04:01 +02:00
Themaister a58cb16367 Fix autosave toggle bug. 2014-04-04 15:19:13 +02:00
Themaister 2d840ef826 Small bugfix and docs fix. 2014-04-04 15:13:44 +02:00
Themaister c81de5119d Initial take on subsystems support. 2014-04-04 14:58:42 +02:00
Themaister bad7f9af82 Check command interface in rarch_input_poll. 2014-03-17 11:34:25 +01:00
Themaister 883708df0f Merge git://github.com/Alcaro/RetroArch into alcaro
Conflicts:
	retroarch.c
	rewind.c
2014-02-23 11:10:25 +01:00
Themaister d896d0f6e4 Optimize state_manager_push a bit.
Avoid redundant memcpy and SSE2 memory diff search.
Might get replaced by Alcaro's implementation soon though.
2014-02-22 13:13:18 +01:00
Alcaro df4ff9718b Declare this one constant. Altering it will make further pulls yield garbage. 2014-02-21 21:51:58 +01:00
Alcaro ef8d2ceb0f Convert this one to an out parameter, to match state_manager_pop. 2014-02-21 21:42:05 +01:00
Alcaro 448a767ba2 Missed another spot... 2014-02-21 19:33:40 +01:00
Themaister 21c383f77a Add initial SET_SYSTEM_AV_INFO environ. 2014-02-20 22:48:31 +01:00
Alcaro 519452ce4f Might as well put this back. No reason to change visible behaviour. 2014-02-18 09:04:16 +01:00
Alcaro d2e95c772b Remove this one. The rewinder is the only user, and with this rewind rewrite, even that is gone. 2014-02-18 08:59:37 +01:00
Alcaro 55fa3d01d4 Fix this part, so we avoid a pointless memcpy. Rename this function. 2014-02-18 08:41:52 +01:00
Alcaro e14c879bcb Trim off this; from now on, the rewinder is responsible for rounding and allocation. 2014-02-18 08:40:16 +01:00
Themaister b86ca166bf Expose more SRAM settings in RGUI.
Also treat save state slot -1 as the "auto save slot".
2014-02-15 11:12:34 +01:00
Themaister d129258c32 Allow toggling fullscreen from bind in RGUI. 2014-02-08 16:27:09 +01:00
Themaister c9b8bfdbbc Simplify parsing of --size. 2014-02-07 09:35:46 +01:00
Themaister 1777056d6f Use the more appropriate __clang_version__. 2014-01-22 16:39:39 +01:00
Themaister 252efff8da Log Git version in verbose logs.
Makes it much easier to figure out which builds users are running when
pasting logs.
2014-01-11 18:54:12 +01:00
Themaister f6643fe12d Push analog dpad mode for autoconfig as well. 2014-01-08 17:47:07 +01:00
Themaister f57a1aa032 Add support for mapping analogs to D-pad again.
Use a cleaner approach which can feasibly work on all platforms.
Uses input_push/pop_analod_dpad to modify the joyaxis field before
polling input. This way, the RetroPad D-pad binds can inherit the
joyaxis fields from ANALOG_LEFT_X_PLUS and friends.

Also add support for the field in RGUI and saves settings.
2014-01-08 17:31:14 +01:00
Themaister f61f42c68f Simplify overlay analogs handling. 2014-01-08 13:32:51 +01:00
Themaister 9ab4b2213a Avoid potential overflows with overlay analogs. 2014-01-07 17:43:44 +01:00
Themaister a65db38baf Allows buttons with l_x_plus, etc, to act as analogs.
Matches up with regular input drivers which can map buttons to analogs
as well if the analogs are not used.
2014-01-07 17:37:59 +01:00
Themaister 5b4ebb3fa1 Build fix for overlay.
Compute keyboard mod state once.
Fix C++ 'new' usage.
2014-01-06 19:42:46 +01:00
meancoot 65c368140c (Overlay Keyboard) Handle key events (no character data yet) 2014-01-03 12:56:21 -05:00
meancoot f55bac7f7e (Overlay Keyboard) Use 1 bit per key to store state. 2014-01-02 23:37:18 -05:00
meancoot 1ff9630d74 Add support for mapping keyboard keys to input overlays. 2014-01-02 16:42:28 -05:00
Themaister a60d49293b Remove completely obsoleted "XML map" support.
This is from ancient times and no longer relevant.
2014-01-02 16:01:43 +01:00
twinaphex 0a15a17d44 Update years on all license headers 2014-01-01 01:50:59 +01:00
Themaister e164457c02 Add support for movable overlay elements.
Very useful for visual feedback of analog controls.
2013-12-31 17:15:28 +01:00
Themaister 2be201ecf3 Add volume option.
There's a rudimentary volume option for XBOX1 there though ...
Dunno what to do about that.
2013-12-29 12:01:23 +01:00
Themaister 7bd6599634 Fix -L arg when default libretro is set. 2013-12-28 23:30:20 +01:00
twinaphex ff036066e2 Rework frontend - separate functions now for iterating per frame
and for doing teardown - Emscripten and Apple ports can make use
of this now so we don't need separate frontend implementations
2013-12-28 21:08:30 +01:00
Themaister a750f355f8 Style nits. 2013-12-28 15:31:25 +01:00
Toad King c8677891e1 fix overlay alphas for multiple button presses 2013-12-26 21:39:07 -05:00
Toad King da75ee5a88 don't update overlay ranges until all events are polled 2013-12-26 20:38:12 -05:00
Themaister 9c472e4e9e Disable recording if FFmpeg errors out.
Or we segfault ...
2013-12-21 15:41:06 +01:00
twinaphex 4ba46df0ef (Android) Build fix 2013-12-19 03:45:17 +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 69a67b3df2 Change RARCH_PERFORMANCE_ macro calls to RETRO_PERFORMANCE 2013-12-17 19:14:57 +01:00
twinaphex 38d785984f Add RETRO_ENVIRONMENT_GET_PERF_INTERFACE to libretro.h 2013-12-17 19:10:40 +01:00
Themaister 84c93ef94a Add experimental RGUI keyboard search feature.
Type '/' to start search, then type search string (case sensitive for
now due to strcasestr being GNU ext). When done, type return.
2013-12-09 16:18:58 +01:00
Themaister 8963504778 Log udev feature. 2013-12-08 16:07:14 +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
twinaphex e83d4a6249 (retroarch.c) use strlcpy instead of snprintf / simplify some strings 2013-11-12 10:25:38 +01:00
twinaphex 2dd00822ee Remove dependency on settings_set in retroarch.c 2013-11-11 12:35:20 +01:00
twinaphex 72b32f2c41 (RARCH_CONSOLE) ifndef input_apply_turbo 2013-11-11 10:39:07 +01:00
twinaphex 0faa3fbbde (RARCH_CONSOLE) Compile in SRAM Autosave option in by default
for RARCH_CONSOLE now
2013-11-08 01:54:46 +01:00
twinaphex 2422c61d7a (retroarch.c) Fix typo in log message 2013-11-07 21:47:41 +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
twinaphex 2f4e415035 (RARCH_CONSOLE) Disable turbo buttons on console - totally borks input 2013-11-07 04:20:20 +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 a5045e4052 Clarify input_apply_turbo.. 2013-10-13 10:22:23 +02:00
Themaister 9e67406c40 Use skeleton config as basis for new configs. 2013-10-04 15:38:57 +02:00
Themaister 3ed9321468 Update man-page and --help.
Remove an obsolete per-game config support. It doesn't work with the
RGUI concept at all and is mostly just confusing.
2013-10-01 12:08:20 +02:00
twinaphex 46087cc0ef (360) Build fix - now compiles in screenshot code 2013-09-29 18:08:11 +02:00
twinaphex 3b6408036c (RMenu) Take out old RARCH_FRAMEADVANCE hack 2013-09-29 03:58:08 +02:00
twinaphex 5040f852ef Avoid warnings passing rarch_time_t value to rarch_sleep - cast to
unsigned int
2013-09-27 18:43:34 +02:00
Themaister 086caef070 Add input_libretro_device_pN setting.
Allows input device type to be saved in a config, which tremendously helps usability
for PlayStation 1 cores.
2013-09-22 11:09:14 +02:00
twinaphex a565f792a4 Video fullscreen toggle - mutation of g_settings now done through
settings_set
2013-09-19 12:41:02 +02:00
Themaister 8707c4c648 Add screenshot directory option to RGUI. 2013-09-16 23:30:42 +02:00
Themaister bbbe058cad Avoid OSD fonts appearing on screenshots.
Clears message queue and renders a cached frame
before taking screenshot when taking GPU screenshots.
2013-09-16 22:29:07 +02:00
Themaister e540413880 Be more clear if a core doesn't support save states.
For cores which do not support save states, log to OSD in a more clear
way.
2013-09-14 23:21:00 +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
meancoot 149a0f37d0 (Overlay Analog) Coding style fixes 2013-09-05 18:19:07 -04:00
meancoot 21388592ea (Overlay) Add basic analog support 2013-09-05 11:38:00 -04:00
twinaphex 3adfefed24 Fix build (to do with removing RARCH_PERFORMANCE_MODE ifdefs) 2013-08-25 23:38:43 +02:00
twinaphex add527e3d2 Get rid of RARCH_PERFORMANCE_MODE 2013-08-25 22:18:57 +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
Themaister 9e4cee5b30 Add support for fast forward frame limiting. 2013-08-11 01:09:10 +02:00
Themaister e8271031b6 Stop/start audio driver on mute. 2013-08-11 01:09:10 +02:00
Themaister a543b5da74 Fix threaded audio race conditions. 2013-08-11 01:07:59 +02:00
Themaister bb0993b6eb Fix Android build. 2013-08-11 01:07:30 +02:00
Themaister 8b655f491a Add slow motion check to frame time. 2013-08-11 01:05:33 +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 3dd5cd39c4 Add cache_context/destroy notification. 2013-08-11 00:55:05 +02:00
Themaister e18af77412 Add path to cache GL context on reinit.
If successful, can avoid libretro GL reset context callback being
called.
2013-08-11 00:53:19 +02:00
twinaphex 2323cee6a7 Get rid of MODE_EXIT 2013-07-27 20:34:06 +02:00
twinaphex d215a2a0f5 remove ifdefs around puts PACKAGEVERSION line 2013-07-04 15:06:28 +02:00
twinaphex 77d5190a01 (OSX) Make dummy context file - compile in RetroArch with Griffin 2013-07-04 15:01:38 +02:00
Themaister 40046531f3 Should fix GPU screenshots if last frame was duped. 2013-06-22 00:38:00 +02:00
Themaister 312154d110 Use common rarch_take_screenshot in RGUI.
Adds GPU screenshot support from RGUI by rendering a clean frame
then taking screenshot.

Should also fix screenshot crash when using GL cores.

Always uses g_settings.screenshot_directory path.
I didn't see the purpose of the RARCH_CONSOLE #ifdef. Probably a Wii
hack from way back ...
2013-06-16 13:44:07 +02:00
Themaister 9406b0a771 More explicit logging of FBO errors. 2013-05-18 16:51:10 +01: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
twinaphex 092b2625dd (RMenu/RGUI) Drop MODE_MENU_INGAME 2013-05-05 15:20:45 +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
Themaister 1cab391be8 Add SRAM autosave option to RGUI. 2013-04-29 16:12:15 +02:00
Themaister 767ad59857 Support disk append. 2013-04-27 15:49:29 +02:00
Themaister 9e2392051d Refactor libretro device type handling.
Show devices in RGUI.
2013-04-27 12:32:30 +02:00
Themaister 9eda39417f Refactor out disk swapping functions. 2013-04-27 12:03:13 +02:00
Themaister 50c704933a Remove debugging logs. 2013-04-27 00:00:51 +02:00
Themaister ac6c576d29 Drop dependency on delay_timer in RGUI. 2013-04-26 23:52:29 +02:00
Themaister a92ff2a23a Reset optind to 0, not 1.
Seems to cause strange issues ...
2013-04-26 23:06:43 +02:00
Themaister 0e61461c07 Should fix very strange flickering bug. 2013-04-22 21:10:17 +02:00
Themaister 44476bdbfb Logging main_wrap. 2013-04-22 20:35:45 +02:00
Themaister 846557ba21 Start menu if ROM is not passed to rarch_main_wrap. 2013-04-21 01:12:30 +02:00
Themaister 610f33962a Add fullscreen toggle to RGUI.
Drop hotkey handling. Needed to add delay timer hackery in that case.
2013-04-21 00:01:49 +02:00
Themaister fa5e8b646c Preserve sram/state dir on reentrancy. 2013-04-16 12:22:27 +02:00
Themaister 476d6cef88 Set has_set_*_path on reentrancy. 2013-04-16 09:41:47 +02:00
Themaister 8c58ff191a Fix strange use of pointers in screenshot code. 2013-04-14 23:14:38 +02:00
Themaister 0ca210f99d Document behavior with no args. 2013-04-14 22:41:43 +02:00
Themaister 7923ac4849 If run with no args, start menu. 2013-04-14 19:23:42 +02:00
Themaister c9a02273bb Check for fullscreen in RGUI. 2013-04-14 16:40:17 +02:00
Themaister 1395c32937 Add dummy core loading. 2013-04-14 16:29:30 +02:00
Themaister f968ee6527 Refactor nonblock states.
Preserve nonblock state better across reinits, etc.
Try to keep vsync in RGUI.
2013-04-14 00:56:55 +02:00
Themaister e389220df8 Refactor frame_counter.
Graphics drivers get the task of updating this.
If threaded driver is used, main thread cannot update the counter
due to race conditions.
2013-04-13 14:28:12 +02:00
twinaphex da8bbde11d Simplify some _WIN32 includes 2013-04-11 22:35:15 +02:00
Themaister f88ea04c28 Remove fixed shader index in set_shader. 2013-04-07 13:00:21 +02:00
Themaister cf92211254 Update overlay when in RGUI. 2013-04-04 23:10:38 +02:00
Themaister 77164d18ca Begin adding core options interface. 2013-04-04 13:58:30 +02:00
Hans-Kristian Arntzen ebd7dcf721 Merge pull request #169 from Themaister/gl-render
HW GL render for libretro.
2013-03-30 06:33:53 -07:00
twinaphex 39c0ed745c (PS3) Get rid of QUICKMENU_TOGGLE define - was surpassing 64 entries
on PS3 - now going to do 'menu toggle behavior' logic instead -
menu toggle now triggers ingame menu - will be configurable
2013-03-30 07:19:42 +01:00
Themaister 292bc36b43 Basic mouse grabbing for X11. 2013-03-29 18:55:54 +01:00
Themaister 4bcc566afb Fix some possible segfaults with HW render. 2013-03-28 12:27:40 +01:00
meancoot 2a4573854e (iOS) Load BTstack dynamically; no more separate nobtstack xcode scheme. 2013-03-18 20:32:24 -04:00
Themaister 51b5a2df5c Refactor aspect_ratio member.
Mutate in g_extern.system.aspect_ratio to avoid
getting wrong aspect ratio on reentrancy.
2013-03-17 22:05:15 +01:00
twinaphex d67e4da4db Revert "Can't have hardcoded binds structs for 8 players"
This reverts commit 2579af2764.
2013-03-16 17:51:28 +01:00
twinaphex 2579af2764 Can't have hardcoded binds structs for 8 players 2013-03-16 17:33:18 +01:00
Themaister e3c85b174c Can toggle rewind enable in runtime. 2013-03-16 14:28:34 +01:00
Themaister 0b8d8c41f7 Don't use QUICKMENU for RGUI.
Doesn't seem to be used.
2013-03-16 11:11:36 +01:00
Themaister 12cc1c43d4 Can almost run RGUI on PC.
Input in menu is broken. Binds are set up wrongly for PC.
2013-03-16 10:35:22 +01:00
twinaphex 039fc644d5 Revert "Menu toggle without delay timers (more testing might be needed -"
This reverts commit 54a6175a55.
2013-03-11 02:07:50 +01:00
twinaphex 54a6175a55 Menu toggle without delay timers (more testing might be needed -
tested on PS3 RMenu and seemed to work well enough)
2013-03-11 01:12:19 +01:00
Themaister 384212470a Avoid delay timer in rarch_main_iterate. 2013-03-10 21:13:55 +01:00
ToadKing eb82bd2127 implement driver.current_msg
fix RGUI to no longer use driver.video_data casting
2013-03-10 16:02:10 -04:00
twinaphex 9d9eb90574 Drop another HAVE_RMENU ifdef in retroarch.c 2013-03-09 17:04:18 +01:00
twinaphex 0b6e5a6388 Rename RARCH_RMENU_TOGGLE to RARCH_MENU_TOGGLE 2013-03-09 16:14:26 +01:00
twinaphex af7430b767 Get rid of some extraneous HAVE_RMENU ifdefs in retroarch.c 2013-03-09 15:24:15 +01:00
Themaister 4bca26097c Clarify branch intention better. 2013-03-09 11:00:00 +01:00
Themaister 272ef70895 Merge branch 'master' into cd-swap 2013-03-09 09:27:14 +01:00
ToadKing dbea6f3614 fix closing menu on android
(MIGHT REQUIRE CHANGES TO CONSOLES)
2013-03-07 14:39:08 -05:00
twinaphex a23bc3a13f Control flow change for RGUI/RMENU - no longer have to invoke RARCH_QUIT_KEY to toggle menu 2013-03-07 19:02:44 +01:00
twinaphex 7b96cf8db3 (Android) Blank in input_poll_func() for HAVE_ASYNC_POLL 2013-03-04 13:29:04 +01:00
twinaphex 42fe25b3b7 (Android) Drop this ifndef - to allow input overlay poll to still happen 2013-03-04 11:57:48 +01:00
twinaphex ab6135c9d5 (Android) Define HAVE_ASYNC_POLL for Android (will likely be used for other
mobile platforms as well)
2013-03-04 11:52:58 +01:00
Themaister cae578fe73 Refactor Android-specific polling logic. 2013-03-03 18:20:05 +01:00
twinaphex 28c9f51913 (Android) Rewrite new input code some more 2013-03-03 11:22:59 +01:00
twinaphex ec114db356 (Android) Reimplemented input loop - better throughput/latency 2013-03-02 23:53:06 +01:00
Themaister 7fadee0da3 Let $XDG_CONFIG_HOME fallback to $HOME/.config.
Use the specification more correctly. Keep fallback to
$HOME/.retroarch.cfg.
2013-02-26 18:46:07 +01:00
Themaister 9370ae9dee Should fix OSX.
main() must be hacked by SDL_main.
2013-02-26 08:43:32 +01:00
twinaphex f72a505dbe Split up main() function to frontend/frontend.c 2013-02-25 07:01:16 +01:00
twinaphex 49b0f5c204 Add HAVE_RARCH_MAIN_IMPLEMENTATION define - hook up console ports
differently
2013-02-25 06:47:26 +01:00