Compare commits

..
2223 Commits
Author SHA1 Message Date
twinaphex adae0656eb Bump up versions 2017-07-28 06:42:02 +02:00
Twinaphex 2c587731bd Merge pull request #5218 from RobLoach/patch-15
Bump version to 1.6.2
2017-07-28 06:37:00 +02:00
Rob Loach 4d231d8c27 Bump version to 1.6.2 2017-07-28 00:21:10 -04:00
Twinaphex 266f7a3ad9 Merge pull request #5217 from RobLoach/filters-configure
Add "configure" to audio and video filters
2017-07-28 04:26:19 +02:00
Brad Parker 668ab0f0c4 update CHANGES.md 2017-07-28 13:26:33 -04:00
Rob Loach 2a0e34d66e Add ./configure to audio and video filters 2017-07-27 22:20:56 -04:00
twinaphex e517e9b96a Add file_stream_transforms 2017-07-27 09:09:37 +02:00
Twinaphex 99aed1723f Merge pull request #5213 from danieljg/master
Increase maximum sample rate in tinyalsa and implement check for upper and lower bounds
2017-07-27 06:21:26 +02:00
Daniel Jimenez ad542822ed Test upper & lower sample-rate bounds in tinyalsa 2017-07-26 21:02:09 -07:00
Daniel Jimenez 1b4d622bb4 Increase sample rate limit in tinyalsa 2017-07-26 20:20:17 -07:00
Brad Parker 9b71cdbb0f mbedtls: win32 buildfix 2017-07-26 09:18:17 -04:00
Brad Parker 02381aabef add SSL/TLS support 2017-07-26 09:18:17 -04:00
twinaphex 790cf1c27e C89_BUILD buildfix 2017-07-26 02:55:31 +02:00
twinaphex 507379406d Another build fix 2017-07-26 02:41:13 +02:00
twinaphex 82913126ef Buildfix + stub this out for now 2017-07-26 02:38:56 +02:00
Twinaphex 432e5c02de Merge pull request #5161 from fr500/subsystem
start implementing subsystem
2017-07-26 02:33:34 +02:00
Twinaphex 8f93a6f379 Merge pull request #5207 from RobLoach/patch-13
Add a make install command to the video filters
2017-07-25 19:39:47 +02:00
Twinaphex 106ae968a0 Merge pull request #5208 from RobLoach/patch-14
Add make install command for the audio filters
2017-07-25 19:39:39 +02:00
Twinaphex 2008327742 Merge pull request #5211 from RobLoach/patch-15
Fix integer wrap for Rewind Granularity in Menu
2017-07-25 19:39:20 +02:00
Rob Loach 2a8753d13c Fix integer wrap for Rewind Granularity in Menu
Fixes #5210
2017-07-25 12:33:41 -04:00
Rob Loach afa01c5421 Add make install command for the audio filters 2017-07-25 09:19:51 -04:00
Rob Loach 4f4ef6e815 Add a make install command to the video filters 2017-07-25 09:12:37 -04:00
Andrés 6f637df360 Merge pull request #5204 from fr500/master
build fix for platforms without threads
2017-07-24 21:25:26 -05:00
radius b64fe2adc2 build fix for platforms without threads 2017-07-24 21:24:22 -05:00
Twinaphex 1b8eb669d8 Merge pull request #5203 from fr500/master
add retroarch version to lan announcement
2017-07-25 04:16:31 +02:00
radius 84e0251a86 add retroarch version to lan announcement 2017-07-24 21:13:28 -05:00
Twinaphex a22062f4f9 Merge pull request #5160 from fr500/master
misc updates
2017-07-25 03:57:34 +02:00
radius 32525ea0d3 rename MITM with Relay 2017-07-24 20:54:33 -05:00
radius d560660bdc add room type in the title 2017-07-24 20:52:27 -05:00
radius f7f613a244 android buildfix 2017-07-24 20:13:53 -05:00
radius fcbcfab3d9 disable SRAM autosave while netplay is underway 2017-07-24 20:13:53 -05:00
radius c2882164f9 reenable rewind if the user disables netplay 2017-07-24 20:13:53 -05:00
radius c101b4ccb3 netplay tweaks: disable rewind 2017-07-24 20:13:53 -05:00
radius d889f594a3 small fixes 2017-07-24 20:13:53 -05:00
radius e09075dc25 Add RetroArch version and use different icons for different room types 2017-07-24 20:13:52 -05:00
radius b8bbf77196 update changelog again 2017-07-24 20:13:52 -05:00
radius 6804540635 improve logging 2017-07-24 20:13:52 -05:00
radius 08621cbd20 Update changelog 2017-07-24 20:13:51 -05:00
Twinaphex b35fdee119 Merge pull request #5200 from reztek/master
Update msg_hash_pt_br.h
2017-07-24 23:37:11 +02:00
Adolfo Ketzer 826a3eff46 Update msg_hash_pt_br.h 2017-07-24 15:20:59 -03:00
radius dcd71b403f add RetroArch version to the netplay announcement 2017-07-24 06:14:34 +02:00
twinaphex cfc7f4c8c7 Cleanups 2017-07-23 19:46:11 +02:00
twinaphex 58233137b0 (WASAPI) Cleanups 2017-07-23 07:55:24 +01:00
twinaphex 70e85ad719 Buildfix 2017-07-23 07:45:57 +01:00
twinaphex f5379815da Add function prototype 2017-07-23 07:43:42 +01:00
twinaphex 2a4c857df9 Update CHANGES.md 2017-07-23 07:02:55 +01:00
Brad Parker df09b0dc9b hook up traditional chinese translation to GUI, add utf8 BOM for msvc 2017-07-22 23:59:47 -04:00
asako a02cade1f2 add traditional Chinese language files (#5196)
* add traditional Chinese language ,basically convert from simplified Chinese with few term adjustment

* translate few term
2017-07-22 23:51:25 -04:00
Brad Parker 12ae59a197 freetype: better way to determine max_width/height, fixes buffer overflow with alternate OSD fonts 2017-07-22 22:21:26 -04:00
Brad Parker b9036e26a7 fix buffer overflow 2017-07-22 16:08:05 -04:00
Twinaphex 093c1c5a12 Merge pull request #5195 from yoshisuga/fix_xcode_build_phases
[iOS] Fix xcode build process to code sign the cores before copying the resources
2017-07-22 20:45:51 +02:00
Yoshi Sugawara e66c2d937a fix xcode build to codesign the cores before copying the resources 2017-07-22 08:20:16 -10:00
Yoshi Sugawara d3d9229f1d fix xcode build to codesign the cores before copying the resources 2017-07-22 08:17:04 -10:00
twinaphex 43c42c28e6 Cleanup font_renderer_create_atlas 2017-07-22 18:46:33 +01:00
Twinaphex 69c05cd7b4 Merge pull request #5194 from yoshisuga/ios_fix_texture_storage_capability
[iOS] Fix rendering for some cores (black screen issue)
2017-07-22 05:36:58 +02:00
Yoshi Sugawara c1ce224bd7 GL_CAPS_TEX_STORAGE_EXT not working/supported on iOS, so disabling 2017-07-21 17:19:52 -10:00
radius b14593081d start implementing subsystem 2017-07-21 19:06:06 -05:00
Twinaphex 6ea0eae4bb Merge pull request #5192 from yoshisuga/ios10_opengl_fix
The BGRA8888 gl extension is not working in iOS 10 and 11; report cap…
2017-07-21 07:27:15 +02:00
Yoshi Sugawara 4b29c9dcad Returning false for the BGRA8888 opengl extension for all iOS devices 2017-07-20 19:13:18 -10:00
Yoshi Sugawara 15be2d6b34 The BGRA8888 gl extension is not working in iOS 10 and 11; report capability as false to get rendering the screen working again for cores that output in the BGRA8888 pixel format (mednafen_psx, nestopia, others?) 2017-07-20 19:06:32 -10:00
twinaphex 9fe27117f2 Revert "(iOS) Take this out - see if it solves our issues"
This reverts commit 1cf6f2f20f.
2017-07-21 05:24:41 +01:00
Twinaphex 75bdde358a Merge pull request #5189 from meleu/patch-6
CHANGES.md: added CHEEVOS changes
2017-07-20 14:33:44 +02:00
meleu 8a3567ab61 CHANGES.md: added CHEEVOS changes 2017-07-20 08:54:53 -03:00
twinaphex 058dc172c7 Update 2017-07-20 04:37:19 +01:00
twinaphex 6bf26dc420 Update libretro-common 2017-07-20 04:36:38 +01:00
twinaphex 1cf6f2f20f (iOS) Take this out - see if it solves our issues 2017-07-19 18:42:59 +01:00
twinaphex bcaa24cf7b Add this check back in 2017-07-19 17:49:55 +01:00
Brad Parker ecfb0dda43 update JP translation 2017-07-19 10:55:25 -04:00
Brad Parker 3c4f13e9f5 msvc2005: add directx sdk include/lib paths to project file (msbuild is ignoring INCLUDE/LIB for some reason) 2017-07-18 22:30:10 +00:00
Brad Parker 2211f4391c msvc2005: add Platform SDK include dir to project file 2017-07-18 20:25:48 +00:00
Twinaphex 730f8d8996 Merge pull request #5184 from casdevel/f5162
Disable keyboard input and restrict mouse input in some cases
2017-07-18 03:09:44 +01:00
Zoran Vuckovic aa99f4f5ba Disable keyboard input and restrict mouse input in some cases 2017-07-18 01:16:48 +02:00
Jean-André Santoni d2cdc97e8f Don't reinit the audio driver when audio device is switched for now. It can break the setting UI. 2017-07-16 20:48:57 +02:00
Twinaphex b75bb07329 Merge pull request #5171 from RobLoach/patch-12
Fix RETRO_ENVIRONMENT_GET_LOG_INTERFACE docs
2017-07-14 21:04:49 +01:00
Rob Loach 63d36f658d Fix RETRO_ENVIRONMENT_GET_LOG_INTERFACE docs 2017-07-14 14:40:27 -04:00
Jean-André Santoni 9b1ab23aa1 (GLUI) Don't select an entry when scrolling 2017-07-13 18:00:02 +02:00
Twinaphex c800477bc8 Merge pull request #5164 from Grotke/fix-driver-wrap-left
Fix driver menu left wrap
2017-07-13 01:52:12 +01:00
Joseph Montgomery 28ef2d6487 Fix driver menu left wrap
Driver options in Settings/Driver should wrap left now.
2017-07-11 21:00:44 -04:00
Twinaphex 56e63d4460 Merge pull request #5158 from leiradel/master
Fix GBC cheevos using addresses in the Echo RAM
2017-07-09 20:26:54 +02:00
Andre Leiradella 2444d8b39c Fix GBC cheevos using addresses in the Echo RAM 2017-07-09 18:32:53 +01:00
Twinaphex bcb97caa4e Merge pull request #5157 from Grotke/fix-uint-wrap-left
Fix uint menu options wrap left
2017-07-09 11:45:40 +02:00
Joseph Montgomery a7e19107ce Fix uint menu options wrap left
Uint menu options should wrap left/down now. This includes options like audio
latency, user language, input max users, etc.
2017-07-09 00:55:31 -04:00
Brad Parker 5733d8ebd5 move content list builder into scanner task with progress, fixes menu freeze with large playlists 2017-07-09 00:44:02 -04:00
Andre Leiradella 3a590f126d Increased size limit to compute hashes because of 64 Mb N64 games 2017-07-09 01:15:21 +01:00
twinaphex 434bec8775 No longer bake in tinyalsa for android 2017-07-09 00:14:46 +02:00
Twinaphex 913eab54ff Merge pull request #5156 from leiradel/master
Added support for N64 cheevos
2017-07-09 00:07:10 +02:00
Andre Leiradella c3650f077a Removed the lazy initialization stuff, it's not needed anymore 2017-07-08 23:05:35 +01:00
Brad Parker e067dac2a4 fix keyboard regression with mupen cores 2017-07-08 17:39:29 -04:00
Andre Leiradella a62052eb0a Added support for N64 cheevos 2017-07-08 21:15:04 +01:00
Andre Leiradella abd22ae770 Dump delay to wait for Mupen64 to initialize 2017-07-08 00:48:26 +01:00
Andre Leiradella 5e2e586f6e Support N64 cheevos 2017-07-07 23:12:38 +01:00
Brad Parker 26711ec0d5 update JP translation 2017-07-07 14:09:14 -04:00
twinaphex 6ad1a5cc8f Update CHANGES.md 2017-07-06 12:59:03 +02:00
Francisco José García García e73a7c24e2 Merge pull request #5152 from meleu/patch-3
adding cheevos support to Vita port
2017-07-06 12:21:23 +02:00
meleu e247867bd7 adding cheevos support to Vita port
Tested with fceumm and the cheevos worked just fine.
Thanks for @frangarcj for the instructions on how to compile for Vita.
Fixes #4752
2017-07-06 07:19:17 -03:00
twinaphex dc521b42d1 Cleanup 2017-07-05 11:55:17 +02:00
Twinaphex 525c8f7c8e Merge pull request #5147 from reztek/master
Added entries for CHEEVOS_VERBOSE_ENABLE
2017-07-05 06:03:50 +02:00
Twinaphex 633cadcde7 Merge pull request #5150 from RobLoach/log-clean
Clean up the log output
2017-07-05 06:02:46 +02:00
Rob Loach 912068f850 Clean up the log output
References #1385
2017-07-04 21:46:22 -04:00
Adolfo Ketzer 2ce1dbcf02 Add files via upload 2017-07-04 12:27:47 -03:00
twinaphex 3a141cb891 Create retro_dirent_include_hidden 2017-07-04 04:09:45 +02:00
twinaphex 2fda0b7e66 Simplify retro_dirent 2017-07-04 03:30:53 +02:00
Twinaphex 0dc0cc5bf0 Merge pull request #5145 from meleu/patch-2
small fix on number of unlocked cheevos message
2017-07-04 00:35:47 +02:00
meleu b4902e7df5 small fix on number of unlocked cheevos message
The previous version was showing the number of **locked** cheevos.
2017-07-03 17:16:39 -03:00
twinaphex 95495cbf62 Update 2017-07-03 20:19:53 +02:00
twinaphex 87c94982c2 (libui) Add more logging 2017-07-03 20:19:20 +02:00
twinaphex e5d930ae0a Add more logging 2017-07-03 20:17:35 +02:00
twinaphex ff3a0d9a3c Add more logs 2017-07-03 20:13:38 +02:00
twinaphex 2aa004a1ce Update with more logs 2017-07-03 20:11:38 +02:00
twinaphex 344a4099eb Add more logs 2017-07-03 20:09:18 +02:00
twinaphex c2a4fa83e8 Add logs 2017-07-03 20:07:23 +02:00
twinaphex 15b1bb40a4 Add log 2017-07-03 20:05:15 +02:00
twinaphex e2d8771baf Add log message 2017-07-03 20:03:49 +02:00
twinaphex 790fcd2264 Add test for libui 2017-07-03 09:45:09 +02:00
twinaphex c576faae0c Cleanup 2017-07-03 09:34:12 +02:00
twinaphex 760fee18dd (libui) Update comments 2017-07-03 09:33:29 +02:00
twinaphex 1521a8dd38 Try to do a GetProcAddress to grab the function pointer to the
function
2017-07-03 09:20:37 +02:00
twinaphex c9b88fa1ab Buildfix 2017-07-03 08:57:26 +02:00
twinaphex 708596ba84 Call dylib_free at end of WGL context destroy function 2017-07-03 08:56:17 +02:00
twinaphex d27252daed Add -lusp10 2017-07-03 08:44:59 +02:00
twinaphex 9d91a38602 Add -ld2dl -ldwrite for libui/Win32 2017-07-03 08:43:42 +02:00
twinaphex 22dee03c65 Add -luxtheme for libui/Win32 2017-07-03 08:41:11 +02:00
twinaphex 4eb0f21b8f Get rid of DllMain 2017-07-03 08:36:43 +02:00
twinaphex 21cb98e3fb Add Darwin rules 2017-07-03 08:32:36 +02:00
twinaphex 8a618f8e95 Update libui 2017-07-03 08:26:43 +02:00
twinaphex 1d2b5fb534 Add winextra.h 2017-07-03 08:26:22 +02:00
Twinaphex f6ca13b658 Merge pull request #5140 from meleu/patch-2
added cheevos_verbose_enable to Achievements menu
2017-07-03 07:55:52 +02:00
twinaphex f8397a17c3 (deps/libui) Buildfix 2017-07-03 07:29:34 +02:00
twinaphex 49753a7385 Buildfix 2017-07-03 07:27:09 +02:00
twinaphex abba2f387e (deps/libui) Cleanups 2017-07-03 07:26:10 +02:00
twinaphex 39b1e43cbc Add win32 rules 2017-07-03 07:19:12 +02:00
twinaphex aed74a008c Add makefile rules 2017-07-03 07:10:23 +02:00
twinaphex 2a6ffd9c3b Add deps/libui 2017-07-03 06:34:21 +02:00
twinaphex ffc393cafc Get rid of unused variables 2017-07-02 20:58:32 +02:00
twinaphex 260f9532e9 Set buildbot dir for MSVC 2010 RetroArch build to MSVC 2010 cores 2017-07-02 20:45:15 +02:00
Twinaphex 22eb2f8f3b Merge pull request #5144 from Scheiker/tinyalsa
(tinyalsa) Fix pcm_can_pause.
2017-07-02 20:33:41 +02:00
Charlton Head 933627353b (tinyalsa) Fix pcm_can_pause. 2017-07-02 13:09:34 -05:00
Twinaphex 5ac0141a9a Merge pull request #5141 from bonzini/id-input-key
add support for remote control devices and other ID_INPUT_KEY devices
2017-07-02 16:32:27 +02:00
Paolo Bonzini d1dc2e9670 add support for remote control devices and other ID_INPUT_KEY devices
* the remote control presents itself as ID_INPUT_KEY, not
ID_INPUT_KEYBOARD.  However, ID_INPUT_KEYBOARD is a subset of
ID_INPUT_KEY.

* the remote control lacks the backspace and enter keys, which are hard
coded in RetroArch. It has "back" and "ok" instead, so map those to
RETROK_BACKSPACE and RETROK_ENTER as well.

Remote controls also have no ESC key, but that one is customizable
and I used the Power key of the remote (which already has a mapping
to RETROK_POWER).

The functionality provided is really the bare minimum, but it is enough
to teach a kid "press the power button here to watch TV"; compared to
pressing L1+R1+START+SELECT and navigating to the RetroArch's "quit"
menu item, that hopefully has more chances of success.
2017-07-02 10:50:00 +02:00
meleu 3c07209a1a added cheevos_verbose_enable to Achievements menu 2017-07-02 04:59:39 -03:00
meleu e9d8525e29 show login info only after a RA login procedure
The previous logic shows login info every time a game is launched.
2017-07-02 08:38:44 +01:00
Twinaphex b4b3887a1a Merge pull request #5138 from meleu/patch-1
show useful OSD messages to cheevos users after launching a game
2017-07-02 05:53:19 +02:00
meleu 58de712b77 show useful OSD messages to cheevos users after launching a game 2017-07-01 23:20:44 -03:00
Twinaphex fb33dcf17b Merge pull request #5136 from rossato/master
Fall back to IPv4 when IPv6 connections fail
2017-07-01 20:03:22 +02:00
Ken edc64991f3 Fall back to IPv4 when IPv6 connections fail 2017-07-01 08:21:09 -04:00
Twinaphex 3e2c713893 Merge pull request #5134 from Scheiker/tinyalsa
(tinyalsa) Add pcm_pause.
2017-07-01 05:41:06 +02:00
Charlton Head 645bae4931 (tinyalsa) Add pcm_pause. 2017-06-30 22:28:33 -05:00
twinaphex 60296c0b7d Improve logs some more 2017-07-01 04:37:32 +02:00
Twinaphex 6995154a9a Merge pull request #5133 from fr500/master
Fix #5091
2017-07-01 04:35:59 +02:00
twinaphex e9f9702a2d (playlist.c) Don't expose struct details to outside 2017-07-01 03:38:36 +02:00
radius 529ecf1e36 fix #5091 2017-06-30 20:23:20 -05:00
Twinaphex 95f4910a94 Merge pull request #5131 from sergiobenrocha2/master
Disable Core Updater in playlists too, if menu_show_core_updater == f…
2017-07-01 03:18:40 +02:00
radius 0a7968761f improve logging 2017-06-30 20:05:30 -05:00
Sérgio Benjamim 4293e5b334 Disable Core Updater in playlists too, if menu_show_core_updater == false 2017-06-30 19:59:56 -03:00
twinaphex 5636b0fdd6 playlist.c - cleanup 2017-06-30 20:17:34 +02:00
twinaphex c9a9880a36 Update Downloads Title label 2017-06-29 02:19:25 +02:00
twinaphex fd11190e9d Fix CXX_BUILD 2017-06-28 18:04:07 +02:00
twinaphex fe829e5eb0 Fix C89_BUILD 2017-06-28 18:01:04 +02:00
Twinaphex bec00d986c Merge pull request #5126 from Scheiker/tinyalsa
(tinyalsa) Calculate initial latency.
2017-06-28 17:57:01 +02:00
Charlton Head 768dbb5210 (tinyalsa) Calculate initial latency. 2017-06-28 10:41:47 -05:00
Twinaphex 626b8b5dae Merge pull request #5124 from reztek/pt-br-translation
pt-br translation corrections and formatting fixes
2017-06-28 16:27:01 +02:00
Adolfo Ketzer 5de9ba0bc2 Add files via upload 2017-06-28 09:02:49 -03:00
twinaphex 4813019c58 Cleanup 2017-06-28 07:53:05 +02:00
twinaphex 0c7f209e65 Update CHANGES.md 2017-06-28 07:20:06 +02:00
Twinaphex ccd5dec266 Merge pull request #5122 from Scheiker/tinyalsa
(tinyalsa) Big endian support.
2017-06-28 07:19:11 +02:00
Charlton Head 5ba36ad3a1 (tinyalsa) Big endian support. 2017-06-28 00:17:23 -05:00
twinaphex 36f700927e Silence some more ioctl coverity warnings 2017-06-28 07:00:28 +02:00
twinaphex fa8db9b4d2 Silence another Coverity warning 2017-06-28 06:59:00 +02:00
twinaphex 39679ccdce (oss.c) Silence some Coverity warnings 2017-06-28 06:58:01 +02:00
twinaphex 63d2e543af Don't try to redefine WIN32_LEAN_AND_MEAN if already defined 2017-06-28 06:44:17 +02:00
Twinaphex 540fdf358c Merge pull request #5121 from Scheiker/tinyalsa
(tinyalsa) Add error handling for sample rate.
2017-06-28 06:43:20 +02:00
twinaphex 25c18bb3ce (config_file.c) Cleanups 2017-06-28 06:41:58 +02:00
twinaphex 17d699c75b Cleanups 2017-06-28 06:26:56 +02:00
twinaphex 8fbcf34e02 Cleanup config_file.c 2017-06-28 06:25:32 +02:00
Charlton Head 175aaadb0d (tinyalsa) Add error handling for sample rate. 2017-06-27 23:14:55 -05:00
twinaphex b4173ee0b4 Add pspkernel.h 2017-06-28 06:13:33 +02:00
twinaphex e58eee37bc Cleanups 2017-06-28 05:44:59 +02:00
twinaphex 7c41e298a2 Update libretro-common 2017-06-28 05:34:29 +02:00
Twinaphex d561c7ff2d Revert "Don't show this warning when HAVE_SHADER_PIPELINE is not defined"
This reverts commit 431f1b4b7f.
2017-06-28 05:02:31 +02:00
Twinaphex 431f1b4b7f Don't show this warning when HAVE_SHADER_PIPELINE is not defined 2017-06-28 05:01:55 +02:00
twinaphex ddb4867c52 (file_path.c) Cleanups 2017-06-28 04:51:58 +02:00
twinaphex e1041030a2 Get rid of stdstring.h dependency for file_path.c 2017-06-28 04:44:33 +02:00
twinaphex b11620e1eb Add retro_timers.h/retro_math.h 2017-06-28 04:41:38 +02:00
twinaphex 50b07ad8c4 Move retro_le to archive_file_zlib.c 2017-06-28 04:20:52 +02:00
twinaphex ba71dda1b2 Stub out this message 2017-06-27 18:19:26 +02:00
Twinaphex be98b0ea0b Merge pull request #5117 from Scheiker/tinyalsa
(tinyalsa) open with O_NONBLOCK
2017-06-27 18:16:13 +02:00
Charlton Head 7cda786906 (tinyalsa) open with O_NONBLOCK 2017-06-27 10:39:02 -05:00
twinaphex 03ee897ae2 Try implementing core context version of XMB ribbon 2017-06-27 06:31:18 +02:00
Twinaphex c16bb5ff5e (Cocoa) Buildfix 2017-06-27 06:14:13 +02:00
twinaphex c1c5ebf5f6 (Cocoa) Start implementing core context hooks 2017-06-27 06:11:08 +02:00
twinaphex bfe8a8d48a (tinyalsa) Remove oops function 2017-06-27 05:07:58 +02:00
twinaphex 2127f5202b (tinyalsa) Fix memory leak 2017-06-27 05:01:55 +02:00
Twinaphex e3e41e433e Merge pull request #5115 from Scheiker/tinyalsa
(tinyalsa) Variable latency support.
2017-06-27 02:15:52 +02:00
Charlton Head 8b972a8d82 (tinyalsa) Variable latency support. 2017-06-26 19:08:22 -05:00
twinaphex 94af3addd0 Update cocoa_gl_ctx.m 2017-06-26 07:23:04 +02:00
twinaphex f5a12d63cc (Cocoa) Try to support Core GL 3.1/3.2/3.3 and 4.1 on OSX 10.7 and
10.10 respectively
2017-06-26 07:16:41 +02:00
twinaphex 688414c5bb Get rid of some retro_assert usage 2017-06-26 05:38:51 +02:00
twinaphex d3868cc06f Get rid of retro_assert usage in file_path.c 2017-06-26 05:33:47 +02:00
twinaphex 20e7ac4280 Buildfix 2017-06-26 03:50:34 +02:00
twinaphex 411ade7fb9 Mingw buildfix 2017-06-26 03:47:47 +02:00
Twinaphex 6bbe74d260 Merge pull request #5110 from gouchi/master
Typo
2017-06-25 21:00:44 +02:00
Twinaphex ff3a750e71 Merge pull request #5109 from Scheiker/tinyalsa
(tinyalsa) Allow changing device.
2017-06-25 20:59:18 +02:00
gouchi 721a8f6d47 Typo 2017-06-25 20:56:58 +02:00
Charlton Head 0ece49df50 (tinyalsa) Allow changing device. 2017-06-25 13:37:27 -05:00
Twinaphex c444659683 Merge pull request #5107 from reztek/pt-br-translation
Fix mistake
2017-06-25 14:14:55 +02:00
Adolfo Ketzer 84e799fd09 Add files via upload 2017-06-25 07:17:06 -03:00
twinaphex e1392b0fd4 (tinyalsa) Get rid of this variable 2017-06-25 07:08:09 +02:00
Twinaphex e34dc17859 Merge pull request #5106 from Scheiker/tinyalsa
Remove extra error handling in tinyalsa_write for now
2017-06-25 06:55:28 +02:00
Charlton Head 15ca6c9507 remove extra error handling in tinyalsa_write for now 2017-06-24 23:42:36 -05:00
twinaphex 56f0bc2dcc Cleanups to pcm_wait and pcm_sync_ptr 2017-06-25 04:54:28 +02:00
twinaphex fc8392d1e7 (tinyalsa) Tiny cleanups 2017-06-25 04:28:19 +02:00
twinaphex 9a382ce6f4 (tinyalsa) Rewrite pcm_wait slightly 2017-06-25 04:24:06 +02:00
twinaphex 8487966c0b (tinyalsa) Slightly rearrange pcm_writei 2017-06-25 04:18:05 +02:00
twinaphex 97063701f8 (tinyalsa) Buildfix 2017-06-25 04:11:11 +02:00
twinaphex b74b0ceed5 CXX_BUILD fixes 2017-06-25 04:08:38 +02:00
twinaphex 5d1cfc47cc C89_BUILD fixes 2017-06-25 04:05:34 +02:00
twinaphex aaa590c817 (tinyalsa) No longer a header dependency on sound/asound.h
(tinyalsa) Try to bake it in for android
2017-06-25 02:06:37 +02:00
twinaphex 57514668f3 Revert "Update"
This reverts commit af3b2f22ec.
2017-06-24 23:15:16 +02:00
twinaphex af3b2f22ec Update 2017-06-24 23:05:29 +02:00
twinaphex 737adeabe7 Style nit 2017-06-24 22:58:06 +02:00
twinaphex 33c96bf6f2 This crashes 2017-06-24 22:09:18 +02:00
twinaphex 69061352a7 Comment functions out for now which remain unused 2017-06-24 21:57:45 +02:00
twinaphex 38e5d062e8 Merge tinyalsa pcm into audio/drivers/tinyalsa.c - now single-file 2017-06-24 21:48:43 +02:00
twinaphex 0aa4edafcf Style nits 2017-06-24 21:28:21 +02:00
twinaphex 57c20bdee7 Try making driver a bit more full-featured 2017-06-24 21:23:49 +02:00
twinaphex b7666b56d1 (tinyalsa) Add early return 2017-06-24 21:08:48 +02:00
Twinaphex 89b345e262 Merge pull request #5104 from reztek/pt-br-translation
More translation goodies
2017-06-24 21:01:48 +02:00
Adolfo Ketzer b661466516 More translation goodies 2017-06-24 15:42:31 -03:00
Twinaphex 505d45fdc7 Merge pull request #5103 from Scheiker/tinyalsa
TinyALSA change pcm_config
2017-06-24 19:49:34 +02:00
Charlton Head 64cd82ceb2 TinyALSA change pcm_config 2017-06-24 12:42:53 -05:00
twinaphex aec2dcb62a (tinyalsa) silence warnings 2017-06-24 16:05:57 +02:00
Twinaphex bc64ad7774 Merge pull request #5099 from Scheiker/tinyalsa
TinyALSA support
2017-06-24 04:44:42 +02:00
Charlton Head 02fb4cf718 quick TinyALSA build fixes... 2017-06-23 21:22:35 -05:00
Charlton Head 4ad5f67663 TinyALSA support 2017-06-23 20:44:00 -05:00
Twinaphex e7d623f971 Merge pull request #5093 from libretro/revert-5076-master
Revert "udev input: support controlling the menu with a TV remote control"
2017-06-22 20:53:13 +02:00
Twinaphex 5c5c5ecbdf Revert "udev input: support controlling the menu with a TV remote control" 2017-06-22 20:53:07 +02:00
Twinaphex 379546207f Merge pull request #5090 from reztek/pt-br-translation
pt-br translation total remake
2017-06-22 19:18:13 +02:00
Adolfo Ketzer 091eff9879 Add files via upload 2017-06-22 10:36:53 -03:00
Jean-André Santoni 98beb5d64c Hide the wifi stuff if HAVE_LAKKA is undefined 2017-06-22 13:35:56 +02:00
twinaphex 681351c581 Bump up to 1.6.1 2017-06-22 04:10:15 +02:00
Twinaphex ffa9ddeec2 Merge pull request #5088 from RobLoach/patch-13
Use GLOBAL_CONFIG_DIR for the skeleton config path
2017-06-22 01:48:23 +02:00
Rob Loach 7b57696a51 Use GLOBAL_CONFIG_DIR for the skeleton config path
This saves us a compilation #if, and allows changing the `GLOBAL_CONFIG_DIR` during compilation if so desired.
2017-06-21 19:28:40 -04:00
Twinaphex 8068bcccbe Merge pull request #5076 from bonzini/master
udev input: support controlling the menu with a TV remote control
2017-06-21 23:35:22 +02:00
Twinaphex 59bfe30214 Merge pull request #5085 from RobLoach/feature/RobLoach/hide-hidden-files
Disable "Show Hidden Files" by default
2017-06-21 18:51:42 +02:00
Rob Loach 37c0cf50fd Disable showing hidden files by default 2017-06-21 10:46:32 -04:00
Twinaphex fcc3260341 Merge pull request #5082 from RobLoach/patch-12
Add input_driver to config.def.h
2017-06-21 14:51:18 +02:00
Jean-André Santoni 736defed49 Flag some settings with LAKKA_ADVANCED 2017-06-21 14:28:15 +02:00
Jean-André Santoni 7202d38c57 Adopt the default UI settings organization in Lakka 2017-06-21 14:25:01 +02:00
Jean-André Santoni e08089de48 Fix Lakka updater 2017-06-21 14:16:19 +02:00
Jean-André Santoni d67348b467 Typo 2017-06-21 14:11:26 +02:00
Jean-André Santoni eca0ac054a More french translations 2017-06-21 13:39:44 +02:00
Rob Loach 5dfd97ff29 Add input_driver to config.def.h
This fixes the following compilation error:

```
CC core_info.c
In file included from core_info.c:31:0:
config.def.h:302:48: error: ‘INPUT_TOGGLE_NONE’ undeclared here (not in a function)
 static unsigned menu_toggle_gamepad_combo    = INPUT_TOGGLE_NONE
                                                ^
Makefile:155: recipe for target 'obj-unix/core_info.o' failed
```
2017-06-21 01:01:07 -04:00
twinaphex 6aa99ebb37 Take out <sys/cdefs.h> 2017-06-21 05:02:03 +02:00
Twinaphex bf5a513e2d Merge pull request #5081 from Scheiker/macrofixes
Macrofixes
2017-06-21 04:31:20 +02:00
Charlton Head 4ae7718f1c add ; when !HAVE_MENU 2017-06-20 20:53:46 -05:00
Charlton Head e8976762a5 include command.h when !HAVE_MENU 2017-06-20 20:52:04 -05:00
Jean-André Santoni 53f089ff09 More french translations 2017-06-20 14:24:23 +02:00
twinaphex c2c4eeb4ca Buildfix 2017-06-20 02:52:04 +02:00
twinaphex 9bf8465e02 Disable this by default for lakka and vita 2017-06-20 02:47:55 +02:00
twinaphex 852ef54b7d Update CHANGES.md 2017-06-20 02:28:52 +02:00
twinaphex c6e6b394d1 Rename some strings 2017-06-20 02:26:56 +02:00
twinaphex 540b9d5615 Add 'Show Core Updater' 2017-06-20 02:22:07 +02:00
twinaphex c2c2e0cdc9 Add title to User Interface -> Views 2017-06-20 02:07:05 +02:00
twinaphex 652452b905 Create User Interface -> Views 2017-06-20 02:04:23 +02:00
twinaphex 2bc417e29f rename some strings 2017-06-20 01:49:37 +02:00
twinaphex 66fc9e6a06 Add menu_show_online_updater 2017-06-20 01:42:28 +02:00
fr500 6803c16bae Revert "Fixed dist-cores.sh script"
This reverts commit bcae2fdc9b.
2017-06-19 14:16:44 -05:00
Jean-André Santoni e2c3f42390 Updated French translation part 1. #5073 2017-06-19 18:06:48 +02:00
Twinaphex 4200c2f135 Merge pull request #5078 from psyke83/xmbwallpaper
xmb: fix incorrect wallpaper alpha blending
2017-06-19 17:43:32 +02:00
twinaphex f087419165 Rename platform_linux.c to platform_unix.c 2017-06-19 17:38:49 +02:00
Conn 78339ae67c xmb: fix incorrect wallpaper alpha blending 2017-06-19 16:38:09 +01:00
Twinaphex b2257347a3 Merge pull request #5075 from ensrha/master
Prevent OSS driver from being compiled & linked twice
2017-06-19 16:03:01 +02:00
Twinaphex 541cfbd635 Merge pull request #5077 from ensrha/sunxi-fix
Fix --enable-sunxi
2017-06-19 15:59:41 +02:00
ensrha 93ea78772d Add missing verbosity include 2017-06-19 14:38:26 +01:00
ensrha a1be55f655 Restore pixman, appears to have been deleted by mistake in 2078331495 2017-06-19 14:38:15 +01:00
Paolo Bonzini d5cdbca322 add support for remote control devices and other ID_INPUT_KEY devices
* the remote control presents itself as ID_INPUT_KEY, not
ID_INPUT_KEYBOARD.  However, ID_INPUT_KEYBOARD is a subset of
ID_INPUT_KEY.

* the remote control lacks the backspace and enter keys, which are hard
coded in RetroArch. It has "back" and "ok" instead, so map those to
RETROK_BACKSPACE and RETROK_ENTER as well.

Remote controls also have no ESC key, but that one is customizable
and I used the Power key of the remote (which already has a mapping
to RETROK_POWER).

The functionality provided is really the bare minimum, but it is enough
to teach a kid "press the power button here to watch TV"; compared to
pressing L1+R1+START+SELECT and navigating to the RetroArch's "quit"
menu item, that hopefully has more chances of success.
2017-06-19 15:09:13 +02:00
ensrha 1f841909f5 Prevent OSS driver from being compiled & linked twice 2017-06-19 13:18:04 +01:00
Paolo Bonzini f850e64037 add volume down and volume up keys 2017-06-19 13:22:34 +02:00
twinaphex e23f0be913 Prevent Coverity warning 2017-06-19 02:09:06 +02:00
twinaphex 914acd3956 Revert "Get rid of some warnings"
This reverts commit 3d45ba29d8.
2017-06-18 20:02:50 +02:00
twinaphex b134c5d23c Revert "Set joypad_info.axis_threshold only once"
This reverts commit 605d877279.
2017-06-18 20:01:48 +02:00
twinaphex 605d877279 Set joypad_info.axis_threshold only once 2017-06-18 19:56:31 +02:00
twinaphex 3d45ba29d8 Get rid of some warnings 2017-06-18 19:47:40 +02:00
twinaphex 097d9bc13b (iOS) Buildfix 2017-06-18 19:43:55 +02:00
Twinaphex 56d744ceaa (Cocoa) Shared hardware context starts to work now 2017-06-18 19:35:34 +02:00
twinaphex 652e00b93e Update CHANGES.md push 2017-06-18 19:19:55 +02:00
twinaphex e0cc113689 Try to fix this regression https://github.com/libretro/RetroArch/issues/5060 2017-06-18 18:50:46 +02:00
Andrés eb371741a2 Merge pull request #5068 from allanin/master
Fixing wrong settings in Nuklear
2017-06-18 10:52:43 -05:00
twinaphex a3f216ba86 (Android) Try to move this code to set_video_mode 2017-06-18 17:21:33 +02:00
twinaphex 4850af8eac Revert "Try to set use_hw_ctx in advance for Android"
This reverts commit c010c5b258.
2017-06-18 17:09:27 +02:00
twinaphex c010c5b258 Try to set use_hw_ctx in advance for Android 2017-06-18 16:45:36 +02:00
twinaphex 5c973b6649 Add another entry to debug logging 2017-06-18 15:52:17 +02:00
twinaphex 2d76e98c22 Add debug logging 2017-06-18 15:48:44 +02:00
twinaphex 55e23395e0 Update Makefile.common 2017-06-18 15:35:46 +02:00
twinaphex 96ded45dd2 Update CHANGES.md 2017-06-18 14:15:02 +02:00
Twinaphex 6db8aa8a65 Merge pull request #5067 from danieljg/master
Added code for single port psx to ps3 adapter
2017-06-18 11:16:15 +02:00
allanin c990a57359 Fixing wrong settings in Nuklear 2017-06-18 05:57:08 +00:00
Daniel Jimenez bcae2fdc9b Fixed dist-cores.sh script 2017-06-17 14:36:19 -07:00
Daniel Jimenez 5267b630f8 Added code for single port psx to ps3 adapter
On branch master
 Changes to be committed:
	modified:   ../griffin/griffin.c
	modified:   ../input/connect/connect_ps2adapter.c
	new file:   ../input/connect/connect_psxadapter.c
	modified:   ../input/connect/joypad_connection.c
	modified:   ../input/connect/joypad_connection.h
2017-06-17 14:19:09 -07:00
twinaphex e6a1afdb22 Update Makefiles 2017-06-16 15:38:20 +02:00
twinaphex cf71d465a3 Turn mkdir_norecurse into static function 2017-06-16 15:33:06 +02:00
twinaphex 6af5bd01bf Merge retro_stat and file_path 2017-06-16 15:00:11 +02:00
Jean-André Santoni 7e8aabd080 Revert "Update translation french"
This reverts commit 8980c8a46b.
2017-06-15 21:37:10 +02:00
twinaphex 822844e676 Update CHANGES.md 2017-06-15 16:23:02 +02:00
Twinaphex 55e6ddc88e Merge pull request #5062 from bubuleur/patch-1
Update translation french
2017-06-15 16:22:10 +02:00
bubuleur 8980c8a46b Update translation french 2017-06-15 16:15:45 +02:00
Twinaphex d25a749702 Merge pull request #5061 from QuarkTheAwesome/master
Tweaks to let DOSBox core work on Wii U
2017-06-15 07:43:22 +02:00
Ash 2492f3d6b3 Add missing_libc_functions.c (for DOSBox) 2017-06-15 15:21:38 +10:00
Ash 7f5986e1d5 Rename Wii U log functions (conflict in DOSBox) 2017-06-15 15:20:58 +10:00
Ash 6bc0f02435 Add Wii U files to .gitignore 2017-06-15 15:20:05 +10:00
Brad Parker aa45e5023f Merge branch 'master' of https://github.com/bparker06/RetroArch 2017-06-14 20:39:52 +00:00
Brad Parker d5a1ad0a73 android: delay loading of RetroActivity until after permissions are granted 2017-06-14 20:19:52 +00:00
Brad Parker fca0e52bdd win32: make includes lowercase to fix cross-compilation on linux 2017-06-13 22:25:47 -04:00
twinaphex 39ea7deef7 Add sha1_main 2017-06-13 10:21:38 +02:00
twinaphex 2e9c5ba6f9 Add sha1_main.c 2017-06-13 10:18:10 +02:00
twinaphex 34dd03a16f Don't bake in SHA1 main function 2017-06-13 09:33:18 +02:00
twinaphex c7ac70a923 Combine video_renderchain_driver.c and video_driver.c 2017-06-12 15:45:58 +02:00
Twinaphex 2496a6287c Merge pull request #5056 from casdevel/drm
Add missing include directive
2017-06-12 14:23:50 +02:00
Zoran Vuckovic 08b6fdb697 Add missing include directive 2017-06-12 14:13:08 +02:00
twinaphex 470995630b (7zip) Cleanup unneeded stuff 2017-06-12 13:07:35 +02:00
twinaphex 11d4827c9f Update griffin 2017-06-12 12:59:49 +02:00
twinaphex fba0080ebc (7zip) remove some unneeded files 2017-06-12 12:40:48 +02:00
twinaphex 8d1e51af7c Make archive_file_7z.c less dependent on 7zip source files 2017-06-12 12:26:19 +02:00
twinaphex 1598042e8e (udev) Keyboard should work again in DRM/KMS 2017-06-12 12:09:19 +02:00
Twinaphex e610a906b5 Merge pull request #5053 from Avton1/patch-5
Create msg_hash_ru.h
2017-06-12 06:42:55 +02:00
Twinaphex 77cc37743c Merge pull request #5054 from danieljg/master
Fix image mirroring in vertical games on the 3ds port (bug #4817)
2017-06-12 06:41:56 +02:00
Daniel Jimenez 288657971d Merge branch 'master' of github.com:libretro/RetroArch 2017-06-11 18:21:09 -07:00
Brad Parker f5a126df24 update Japanese translation 2017-06-11 21:12:39 -04:00
Daniel Jimenez 22fc07a839 Fix mirrored images in vertical games on 3DS (bug #4817)
On branch master
 Your branch is up-to-date with 'origin/master'.
 Changes to be committed:
	modified:   ctr_gfx.c
2017-06-11 18:12:37 -07:00
Avton1 075930c420 Create msg_hash_ru.h 2017-06-12 08:48:45 +08:00
Jean-André Santoni 364440813f Merge pull request #5009 from psyke83/xmbtrans
xmb: enable menu transparency support when emulation is paused (v2)
2017-06-11 21:23:24 +02:00
twinaphex a41b8bc199 Direct usage of epoll 2017-06-11 20:51:21 +02:00
twinaphex e92feb85af Use epoll functions directly 2017-06-11 20:44:02 +02:00
twinaphex 895c817fa5 ifdef this 2017-06-11 19:56:14 +02:00
twinaphex 5e0e970c92 Cleanups 2017-06-11 19:48:40 +02:00
twinaphex 483aceb2af Update CHANGES.md 2017-06-11 18:30:10 +02:00
twinaphex 0a77d35cb9 Update CHANGES.md 2017-06-11 18:29:31 +02:00
Brad Parker 42e56c8432 fix all_users_control_menu logic 2017-06-11 12:28:47 -04:00
twinaphex 0751cb238d Add HAVE_HID ifdefs 2017-06-11 18:12:38 +02:00
twinaphex 060753258a Combine input_driver.c and input_keyboard.c 2017-06-11 17:51:12 +02:00
twinaphex 68516cf74c (input_keyboard.c) cleanups 2017-06-11 17:35:48 +02:00
twinaphex e2d4ff5614 Don't need ctype 'isprint' here anymore 2017-06-11 16:56:31 +02:00
twinaphex 9ec396c0ea Remove some dead code 2017-06-11 16:51:50 +02:00
twinaphex c14c4cd394 Use BIT64_SET 2017-06-11 16:45:55 +02:00
twinaphex 5081d03194 Cleanups 2017-06-11 16:26:27 +02:00
twinaphex 7e9cb39519 Use BIT64_SET 2017-06-11 16:24:24 +02:00
twinaphex 612cb54cfe Merge input_hid_driver 2017-06-11 08:56:36 +02:00
twinaphex 80e2911bec Cleanups 2017-06-11 00:23:19 +02:00
twinaphex d482739dfd Fix binding 2017-06-10 23:26:52 +02:00
Twinaphex d0aad07930 Merge pull request #5050 from hizzlekizzle/master
change --help text for --log-file option
2017-06-10 22:54:30 +02:00
hizzlekizzle 0319041ffb change --help text for --log-file option
--log-file seems to be one of the few CLI switches that doesn't accept both space and =. Instead, it will fail to launch if you use the '=', which is the suggested syntax in the --help text.
2017-06-10 15:39:59 -05:00
twinaphex 95e588ce0f Fix C89_BUILD 2017-06-10 12:52:45 +02:00
twinaphex 9b13894438 Slightly rewrite input_state for android input driver 2017-06-10 12:48:09 +02:00
twinaphex 34be5566dd (udev fix) This fixes touchpad movement inside the menu 2017-06-10 12:27:22 +02:00
twinaphex 84f5fa1f26 (epoll_common.c) Cleanups; don't use verbosity logging inside 2017-06-10 12:07:01 +02:00
twinaphex c70526b7af Fix hotplug regressions with udev 2017-06-10 11:58:22 +02:00
twinaphex e8c73c6683 Rewrite other input drivers too 2017-06-10 11:22:24 +02:00
twinaphex d32cf4c866 Slightly rewrite input_state implementations of cocoa_input.c
and linuxraw_input.c
2017-06-10 11:09:58 +02:00
twinaphex 37656eed84 (udev_input.c) Rework input_state 2017-06-10 10:58:56 +02:00
twinaphex cea6dbbb6a (wayland) Fix input issue 2017-06-10 08:40:28 +02:00
twinaphex cffe023085 Fix wayland 2017-06-10 08:33:01 +02:00
Twinaphex 6d85e1f0a6 Merge pull request #5045 from casdevel/mice
Add player mouse device selection
2017-06-10 04:13:16 +02:00
Zoran Vuckovic e698e75a51 Adapt touchpad code for multiple mice support 2017-06-09 21:17:11 +02:00
twinaphex 34c1c5a361 Try to guard against value being -1 2017-06-09 12:15:26 +02:00
twinaphex 473aed632d Get rid of this 2017-06-09 02:14:48 +02:00
Twinaphex 33905af090 Merge pull request #5042 from Avton1/patch-4
Create msg_hash_ru.h
2017-06-09 01:37:39 +02:00
Avton1 3a34329cb7 Create msg_hash_ru.h 2017-06-09 07:31:48 +08:00
twinaphex 44fdbf7763 Update CHANGES.md 2017-06-09 00:00:28 +02:00
twinaphex 96ab060995 Update CHANGES.md 2017-06-08 23:58:40 +02:00
twinaphex cdf7a403ea Add audio mixer mute enable 2017-06-08 23:53:24 +02:00
twinaphex cdd7fbeb52 Add audio mixer volume setting 2017-06-08 22:58:43 +02:00
twinaphex 8f5f3d15f3 Add AUDIO_ACTION_MIXER_VOLUME_GAIN 2017-06-08 22:38:54 +02:00
twinaphex 5812471350 Need to apply db_to_gain to convert decibel to gain 2017-06-08 22:32:03 +02:00
twinaphex 420d0d0607 Get rid of audio_driver_set_volume_gain 2017-06-08 22:24:51 +02:00
twinaphex 65633c93f3 Audio mute now applies audio gain of 0.00 - no longer stops/starts
audio driver on mute toggle - should no longer unblock on audio
now if we set audio mute
2017-06-08 22:09:04 +02:00
twinaphex cd3276c554 Add volume override for audio_mixer_mix 2017-06-08 22:03:11 +02:00
twinaphex 8980f8c1ea Get rid of useless wrapper function epoll_waiting 2017-06-08 21:52:50 +02:00
twinaphex eb08a86647 Get rid of udev_common.c 2017-06-08 21:46:26 +02:00
twinaphex b633b8ad2d Get rid of implicit memset 2017-06-08 21:38:05 +02:00
Zoran Vuckovic 39108f97e9 Add player mouse index handling to winraw input driver 2017-06-08 17:35:34 +02:00
Zoran Vuckovic 44930716ba Add player mouse index handling to udev input driver 2017-06-08 18:49:08 +02:00
Zoran Vuckovic a74197dc49 Add player mouse index setting 2017-06-08 17:57:36 +02:00
twinaphex f86f1b3e32 Simplify gl_raster_font_upload_atlas 2017-06-08 08:10:23 +02:00
twinaphex aaf3c876eb gl_raster_font.c - Cleanups 2017-06-08 06:44:04 +02:00
Twinaphex e2be9e659d Silence some warnings 2017-06-08 02:44:38 +02:00
twinaphex d7ff2de094 Add stubbed out setting 2017-06-08 00:28:53 +02:00
twinaphex 6b1b8fc35a Add netplay settings sublist 2017-06-08 00:19:43 +02:00
twinaphex 0c3283574d Add deferred hooks for netplay submenu 2017-06-08 00:11:00 +02:00
twinaphex ab087faa2a Try to move access call to maybe prevent 'time of check time of use'
coverity error
2017-06-07 23:29:29 +02:00
twinaphex 5c84f9158e Try to prevent out-of-bounds write 2017-06-07 23:03:08 +02:00
twinaphex a371815efd Try to null-terminate string 2017-06-07 22:47:07 +02:00
twinaphex eb5bf9451d (psp_joypad.c) Cleanups 2017-06-07 22:34:37 +02:00
twinaphex c711749973 (iohidmanager_hid.c) Cleanups 2017-06-07 21:14:34 +02:00
twinaphex 4a5593255f (android_joypad.c) Small cleanup 2017-06-07 21:10:06 +02:00
twinaphex 5ef8b69c9c (wiiu_input.c) Minor style nits 2017-06-07 21:06:24 +02:00
twinaphex dfcbd77a6b (ctr/wiiu) Minor stylistic nits 2017-06-07 21:04:13 +02:00
twinaphex afa07219cd (linuxraw_joypad.c) Cleanups 2017-06-07 20:58:46 +02:00
twinaphex f9061ca931 Simplify udev_joypad_button 2017-06-07 20:48:33 +02:00
twinaphex 9a471d0ef4 Simplify udev_joypad.c 2017-06-07 20:44:14 +02:00
Twinaphex c7036b24d4 Merge pull request #5038 from RobLoach/patch-11
[DB] Update RDB building to ignore missing keys
2017-06-07 19:54:00 +02:00
Twinaphex 0cbe5164b4 Merge pull request #5039 from shizeeg/keypadfix
[INPUT]: KP0, KP1, KP2, KP3 keys don't work on GNU/Linux fixes issue #5034
2017-06-07 19:53:31 +02:00
sh!zeeg 5887c46e08 [INPUT]: fix KP0, KP1, KP2, KP3 keys on GNU/Linux 2017-06-07 19:52:20 +03:00
Rob Loach 11f8938f7e Update RDB building to ignore missing keys
This change makes it so that when building the RDB files, the entries that are missing `serial` keys will simply be ignored and the RDB file will still build. When it's missing the key, it also logs which line it's processing so that we can easily fix the broken entry in libretro-database.
2017-06-07 10:43:56 -04:00
Jean-André Santoni 0dd2304e7c Merge pull request #5037 from casdevel/udev-drm
Fix DRM/KMS keyboard handling
2017-06-07 13:29:22 +02:00
Zoran Vuckovic ceca89e104 Fix DRM/KMS keyboard handling 2017-06-07 12:25:10 +02:00
twinaphex 6c81007eb9 Should hopefully fix scanning of PS1 games 2017-06-07 11:12:11 +02:00
Twinaphex 803ae53372 Merge pull request #5036 from GregorR/netplay-disconnection-forwarding
Handle forwarding of netplay state demotions correctly.
2017-06-07 03:54:13 +02:00
twinaphex f6c2d97ed5 Don't do these constant checks 2017-06-07 03:41:36 +02:00
Gregor Richards fb3c35dc9f Handle forwarding of netplay state demotions correctly.
Netplay state demotions, i.e. changes from playing to spectating or
disconnected states, could cause chain disconnections of all other
clients. This was due to a bug in when MODE change messages were sent.
Clients rely on the server sending all messages in its own order, and as
a consequence, the server typically holds messages for retransmission
until they can be retransmitted at the correct time. MODE messages were
not held, so could be sent early. When they were sent early, this caused
other clients to panic and disconnect.

A smaller but much stupider secondary bug was also fixed, in which the
first connection could be dropped due simply to writing connections[0]
instead of connections[i] somewhere.
2017-06-06 21:35:09 -04:00
twinaphex b610d034ae (sinc_resampler.c) Cut down on ifdef party 2017-06-07 03:09:23 +02:00
twinaphex 34b5d0025b Get rid of implicit declaration warnings 2017-06-07 03:02:50 +02:00
twinaphex 486660471e (Android) Buildfix 2017-06-07 03:01:00 +02:00
twinaphex d9e6cbb065 Simplifications to SDL input driver 2017-06-07 01:45:09 +02:00
twinaphex 59c3f8b06e Cleanups 2017-06-07 01:19:44 +02:00
twinaphex 603d4d0464 (udev/x11) Simplifications 2017-06-07 01:17:55 +02:00
twinaphex 9e93bdbe27 (linuxraw_input.c) simplifications 2017-06-07 01:12:35 +02:00
Twinaphex 3dede6d71a OSX buildfix 2017-06-07 00:35:11 +02:00
twinaphex c3f5c499f3 Simplify cocoa_input 2017-06-07 00:33:03 +02:00
twinaphex afd6a2bec5 Cleanups 2017-06-07 00:10:39 +02:00
twinaphex 604a558382 Get rid of input_wl_is_pressed 2017-06-07 00:09:31 +02:00
twinaphex deb804ab2f (x11_input.c) get rid of this inline function 2017-06-06 23:50:51 +02:00
twinaphex c7b45aaf80 warning fix for C89_BUILD 2017-06-06 23:22:20 +02:00
twinaphex 3d61c7fdfc MSVC buildfix 2017-06-06 23:19:07 +02:00
Twinaphex b148ae8092 Merge pull request #5035 from flibitijibibo/master
[SDL2] Fix joypad info for SDL_GameController devices
2017-06-06 22:34:47 +02:00
Ethan Lee bf20021338 [SDL2] Fix joypad info for SDL_GameController devices 2017-06-06 16:16:44 -04:00
twinaphex 3443153ccc (DRM/KMS) If we have the X11 input driver selected, default to udev and/or
linuxraw driver instead
2017-06-06 21:15:32 +02:00
twinaphex 96bfb35e0b Set default input driver to x - udev can be hit/miss on some
people's configurations
2017-06-06 21:04:15 +02:00
Twinaphex 89fe5625cb Merge pull request #5031 from casdevel/winraw
Add L/R virtual keys handling
2017-06-06 18:44:49 +02:00
Zoran Vuckovic d88b76c26f Add L/R virtual keys handling 2017-06-06 13:50:41 +02:00
Twinaphex 829392398e Merge pull request #5030 from blackgur/master
Update msg_hash_ru.h
2017-06-06 10:20:58 +02:00
twinaphex f5225a479e (task_database_cue.c) Use string_is_equal instead 2017-06-06 10:20:34 +02:00
blackgur d479bd0e1e Update msg_hash_ru.h 2017-06-06 11:15:54 +03:00
twinaphex 3d54afdc1b Change to string_is_equal 2017-06-06 09:46:13 +02:00
twinaphex 1d65222051 No longer need linux/input.h header 2017-06-06 08:31:41 +02:00
twinaphex 5d78c2209f Remove obsolete header 2017-06-06 08:30:01 +02:00
twinaphex efdfb29d50 Turn input_joypad_is_pressed into static inline function 2017-06-06 08:12:53 +02:00
twinaphex 7685f93d00 input_menu_keys_pressed - don't use input_joypad_pressed 2017-06-06 07:59:41 +02:00
twinaphex ded0813f6b Don't need this header 2017-06-06 07:36:06 +02:00
twinaphex f307135d1d Split up wayland input driver into separate driver; and
improve mouse support for menu
2017-06-06 07:34:33 +02:00
twinaphex 470c857470 Only unload core when it's not the dummy core 2017-06-06 06:16:43 +02:00
twinaphex 6b3dbff75f Merge input_driver.c and input_joypad_driver.c 2017-06-06 05:56:02 +02:00
twinaphex 0bd998665b Turn this function into static INLINE 2017-06-06 05:38:01 +02:00
twinaphex 007bb0de39 Buildfix 2017-06-06 05:36:12 +02:00
twinaphex 9ebfb36b4e Use rarch_keysym_lut directly 2017-06-06 05:17:25 +02:00
twinaphex e276142be3 (udev_input.c) Cleanup 2017-06-06 04:18:35 +02:00
twinaphex 4f22c3d13e (x11_input.c) Simplifications 2017-06-06 04:15:45 +02:00
twinaphex 15c4f82dec (udev_input.c) Cleanups 2017-06-06 03:59:52 +02:00
twinaphex ae98ea7210 Remove unused function 2017-06-06 03:49:21 +02:00
twinaphex eee1ff7b46 Update NL localization 2017-06-05 19:53:16 +02:00
Francisco José García García c9d90ce1b6 (VITA) Add support for external usb if mounted 2017-06-05 08:52:20 +02:00
twinaphex cacde2b464 (dynamic_dummy.c) Uniquely name frame_buf 2017-06-05 06:53:18 +02:00
twinaphex 7bcffde6c6 Revert "Add this conditional check"
This reverts commit f5fc95cd04.
2017-06-05 06:52:16 +02:00
twinaphex f5fc95cd04 Add this conditional check 2017-06-05 06:50:24 +02:00
twinaphex c3c772a79a (udev) Avoid warning with helgrind - input descriptor -1 is invalid 2017-06-05 05:18:38 +02:00
Twinaphex d903b1cc60 Merge pull request #5026 from fr500/staging
AARCH64 support
2017-06-05 04:37:31 +02:00
radius 304a647248 dlopen libandroid from lib64 instead 2017-06-04 21:20:39 -05:00
radius 8f55e77afe disable NEON 2017-06-04 21:00:40 -05:00
radius c6c8881ab2 add AARCH64 defines 2017-06-04 20:38:53 -05:00
twinaphex 37c0a2d923 Remove this code 2017-06-04 22:37:49 +02:00
twinaphex f5c5f489b3 (stb_vorbis.h) Cleanups 2017-06-04 22:34:27 +02:00
twinaphex dae733132a (stb_vorbis.h) Remove code we don't need 2017-06-04 22:28:06 +02:00
twinaphex 4a8d8d4d9f Remove code we don't need from stb_vorbis.h 2017-06-04 21:47:38 +02:00
twinaphex 8b945a103f (udev_input.c) Set st_dev manually 2017-06-04 21:16:35 +02:00
Twinaphex a3c88fec74 Merge pull request #5021 from casdevel/udev
Fix duplicate characters when searching
2017-06-04 21:01:43 +02:00
Zoran Vuckovic ab793b92a3 Remove XKBCOMMON code 2017-06-04 07:23:32 +02:00
Zoran Vuckovic 1911aadc19 Remove duplicate keyboard handling 2017-06-04 07:16:57 +02:00
twinaphex 85058fbe5c (udev_input.c) Some cleanups and a runtime check for X11 2017-06-03 18:54:04 +02:00
Twinaphex a8a8bde2ef Merge pull request #5017 from casdevel/udev
Add pointer handling to fullscreen mode
2017-06-03 18:43:29 +02:00
Zoran Vuckovic 210da4d204 Add ifdef checks for X11-specific code 2017-06-03 18:01:27 +02:00
Zoran Vuckovic 05a90f7f70 Add mouse grab/ungrab feature 2017-06-03 16:26:08 +02:00
Twinaphex 45305b4c04 Merge pull request #5014 from theheroGAC/patch-2
Update msg_hash_it.h
2017-06-03 16:08:07 +02:00
Zoran Vuckovic 39a9ac8444 Add pointer handling to fullscreen mode 2017-06-03 12:46:53 +02:00
theheroGAC 5efb90d614 Update msg_hash_it.h 2017-06-03 11:55:16 +02:00
theheroGAC d0a4632c13 Update msg_hash_it.h
82% Translated into Italian :)
2017-06-03 09:57:32 +02:00
Twinaphex 97e3a9e908 Merge pull request #5012 from theheroGAC/patch-1
Update msg_hash_it.h
2017-06-02 21:24:06 +02:00
theheroGAC e237b0f0aa Update msg_hash_it.h 2017-06-02 21:03:49 +02:00
theheroGAC 5afc868562 Update msg_hash_it.h 2017-06-02 18:57:17 +02:00
Twinaphex a8f1831a62 Merge pull request #5010 from casdevel/udev
Add multiple mice support to udev input driver
2017-06-02 16:45:13 +02:00
Twinaphex 647dc488ff Merge pull request #5011 from casdevel/winraw
Fix capabilities report
2017-06-02 15:25:07 +02:00
Zoran Vuckovic f740776105 Fix capabilities report 2017-06-02 09:47:43 +02:00
Zoran Vuckovic 11559f294a Add multiple mice support to udev driver 2017-06-02 07:57:07 +02:00
Conn f413b23f06 xmb: enable menu transparency support when emulation is paused (v2)
Allow xmb menu driver transparency when "Pause when menu activated" is enabled (default setting).
This is also the default behaviour of the rgui driver and is helpful for users to preview
video/shader changes on the fly.

Issues fixed:

gfx/video_driver: enable menu transparency only when game is loaded (as a loaded core can display
                  black or corrupt image)
gfx/video_driver: don't clobber cached frame during driver reinit if game was loaded
                  (fixes missing menu background/paused foreground on full screen toggle)
menu/drivers/xmb: ensure transparency is applied when game is loaded and no shader pipeline active.
menu/menu_driver: explicitly apply transparency only for existing textures (i.e. wallpapers), to
                  avoid background of cores with no content yet loaded mixing with wallpaper.
2017-06-02 02:55:59 +01:00
Zoran Vuckovic 2056ebc803 Allow udev input to be used with X11 context 2017-06-02 01:08:28 +02:00
twinaphex a4358deb0d Bump versioncode 2017-06-01 17:27:20 +02:00
twinaphex 44b4a4e028 Revert "xmb: enable menu transparency support when emulation is paused"
This reverts commit 17d0037bd5.
2017-06-01 17:21:55 +02:00
Jean-André Santoni 6e3b60a91a Merge pull request #5006 from psyke83/xmbtrans
xmb: enable menu transparency support when emulation is paused
2017-06-01 13:12:19 +02:00
Jean-André Santoni 478909697b Merge pull request #5007 from gouchi/master
Update CHANGES.md
2017-06-01 13:03:52 +02:00
gouchi 71efef723b Update CHANGES.md 2017-06-01 12:43:27 +02:00
twinaphex 25a89c3ff1 Update CHANGES.md 2017-06-01 05:26:44 +02:00
twinaphex 1056027d4d Bump up version code to 54 2017-06-01 03:49:51 +02:00
twinaphex f14473fd23 (PS3) Add HAVE_STB_VORBIS 2017-06-01 01:25:41 +02:00
twinaphex 69ab4b6137 Remove HAVE_RLAUNCH 2017-06-01 01:24:46 +02:00
twinaphex 6bf867330f (Android) Add -DHAVE_STB_VORBIS 2017-06-01 01:17:47 +02:00
twinaphex f085e69939 (OSX/iOS) Add HAVE_STB_VORBIS 2017-06-01 01:16:26 +02:00
Conn 17d0037bd5 xmb: enable menu transparency support when emulation is paused
Allow xmb menu driver transparency when "Pause when menu activated" is enabled (default setting).
This is also the default behaviour of the rgui driver and is helpful for users to preview
video/shader changes on the fly.

Issues fixed:

gfx/video_driver: enable menu transparency only when game is loaded (as a loaded core can display
                  black or corrupt image)
gfx/video_driver: don't clobber cached frame (fixes missing background on full screen toggle)
menu/drivers/xmb: ensure transparency is applied when game is loaded and no shader pipeline active.
menu/menu_driver: explicitly apply transparency only for existing textures (i.e. wallpapers), to
                  avoid background of cores with no content yet loaded mixing with wallpaper.
2017-05-31 23:45:16 +01:00
Twinaphex 03160ed3fc Merge pull request #5005 from libretro/revert-4985-master
Revert "xmb: allow transparency when emulation paused"
2017-06-01 00:28:01 +02:00
Twinaphex 1be1386161 Revert "xmb: allow transparency when emulation paused" 2017-06-01 00:27:44 +02:00
twinaphex cc1954b4ac Add 'Filter by current core' 2017-06-01 00:25:13 +02:00
Twinaphex 973600ab30 Merge pull request #4999 from fr500/master
prevent these tasks to run more than once on shutdown
2017-05-31 14:11:03 +02:00
radius f2a8b11ef7 prevent these tasks to run more than once on shutdown 2017-05-31 00:34:01 -05:00
twinaphex 558181e7dd (jsonsax_full.c) Silence some warnings 2017-05-31 04:23:28 +02:00
Twinaphex 6be03843e3 Merge pull request #4997 from hizzlekizzle/master
update Cg menu ribbon for additive blending
2017-05-31 03:16:49 +02:00
hizzlekizzle ba2cf008c6 update Cg menu ribbon for additive blending
Fixes solid white ribbon.
2017-05-30 20:13:58 -05:00
twinaphex 6b638cae8b prevent uninitialized variable 2017-05-31 02:21:43 +02:00
twinaphex 37283185c9 (setting_list.c) Cleanups 2017-05-31 02:00:38 +02:00
twinaphex b13dc7415c (audio_driver.c) Audio mixer - Plug another memory leak 2017-05-31 01:23:20 +02:00
Twinaphex 7053a74d3f Merge pull request #4995 from casdevel/winraw
Add missing keymaps
2017-05-31 00:38:36 +02:00
Zoran Vuckovic a47ab76500 Add missing keymaps 2017-05-31 00:35:28 +02:00
Twinaphex ecbd921668 Merge pull request #4992 from casdevel/winraw
Fix keyboard key translation issue
2017-05-30 23:57:51 +02:00
twinaphex 659668749c Use string_is_equal here 2017-05-30 23:50:02 +02:00
Zoran Vuckovic 32d4e740ce Fix keyboard key translation issue 2017-05-30 22:59:31 +02:00
twinaphex 1af6d8a59f Add audio_mixer_find_index - and attempt to plug memleaks 2017-05-30 22:34:18 +02:00
Twinaphex b46c78f391 Merge pull request #4991 from casdevel/winraw
Remove unused code
2017-05-30 21:43:09 +02:00
Zoran Vuckovic 8c9e72aec1 Remove unused code 2017-05-30 21:05:55 +02:00
twinaphex a6dc4430ba Change this to string_is_equal 2017-05-30 18:54:10 +02:00
twinaphex bc7427732c Buildfix 2017-05-30 16:57:29 +02:00
twinaphex eb8b31df3c Silence some Coverity warnings 2017-05-30 16:44:19 +02:00
Twinaphex dabbaee7b9 Merge pull request #4989 from Tatsuya79/patch-1
Hide load message when saving state.
2017-05-30 15:08:01 +02:00
Tatsuya79 1df9766491 Hide load message when saving state.
fix https://github.com/libretro/RetroArch/issues/4460
2017-05-30 14:07:04 +02:00
Jean-André Santoni c4b2feb811 Merge pull request #4985 from psyke83/master
xmb: allow transparency when emulation paused
2017-05-30 08:11:35 +02:00
twinaphex fd64b158ac Add audio_mixer_play_stop_cb initial impl. 2017-05-30 06:29:19 +02:00
twinaphex 70d906c176 (audio mixer) Add default stop_cb which decrements audio mixer idx value 2017-05-30 06:03:36 +02:00
Twinaphex b6c0688f41 Merge pull request #4987 from fr500/master
start fixing bsv recording
2017-05-30 05:50:54 +02:00
Zoran Vuckovic 451db1fac5 Add multiple mice support 2017-05-30 05:50:38 +02:00
radius 6d6309aaf0 start fixing bsv recording 2017-05-29 22:49:12 -05:00
twinaphex c83d72d589 Buildfix for Python 2017-05-30 04:11:04 +02:00
twinaphex 46806e7204 Bake out stdin_stream.c 2017-05-30 03:00:11 +02:00
twinaphex c5fe9f4252 Build warning fix 2017-05-30 02:58:59 +02:00
twinaphex eeff3b87e8 Turn this into #elif defined(_WIN32) 2017-05-30 02:55:29 +02:00
Brad Parker 78a0711bff XMB: prevent null pointer dereference with GDI driver 2017-05-29 20:35:33 -04:00
twinaphex 3d4d9b09cf Comment this out 2017-05-30 01:47:49 +02:00
twinaphex 449483206f Revert "New attempt to fix memory leaks of struct retro_system_info"
This reverts commit a1d3dd69dd.
2017-05-30 01:44:49 +02:00
Conn 57503051ea xmb: allow transparency when emulation paused
Allow xmb menu driver transparency when "Pause when menu activated" is enabled (default setting).
This is also the default behaviour of the rgui driver and is helpful for users to preview
video/shader changes on the fly.
2017-05-29 23:49:40 +01:00
Twinaphex 0066fe8065 Merge pull request #4982 from arakerlu/fix_video_driver_translate_coord_viewport
Fix scaling bug in video_driver_translate_coord_viewport()
2017-05-29 23:53:41 +02:00
Arto Vainiolehto 766e4f5110 Fix scaling bug in video_driver_translate_coord_viewport()
- now scaled_x and height are correctly calculated, using viewports's width and height, respectively, as the scaling factor
-- previously the scaling factor was the screen's width/height, which meant that if screen and viewport had different bounds, scaled_x/scaled_y were incorrectly calculated
2017-05-30 00:00:56 +03:00
twinaphex 691fa0a31d Remove the diff 2017-05-29 22:24:43 +02:00
twinaphex a1d3dd69dd New attempt to fix memory leaks of struct retro_system_info
char variables
2017-05-29 22:24:10 +02:00
twinaphex 68beaa5ffc Update diff 2017-05-29 22:21:01 +02:00
twinaphex 67c95d6dfb Add newdiff.diff 2017-05-29 21:35:33 +02:00
Jean-André Santoni 710e912aca (XMB) Code cleaning 2017-05-29 21:00:00 +02:00
Jean-André Santoni 66bfdc9408 (XMB) draw_thumbnail refactoring 2017-05-29 20:58:29 +02:00
twinaphex 0bd74c923f (playlist.c) Turn this code more robust 2017-05-29 20:36:18 +02:00
twinaphex 1cdd0e47cb Backport polling updates - mouse smoothness was broken in cores 2017-05-29 20:30:01 +02:00
twinaphex dfae380f33 Backport patches -
- Attempt to skip cheevos when path is of media type
- Don't do CRC32 encoding for media types
2017-05-29 20:26:10 +02:00
twinaphex b4e16c243c Style nits 2017-05-29 14:58:30 +02:00
twinaphex 2fa401ef26 Remove #if 0 2017-05-29 14:54:25 +02:00
twinaphex 5521d58994 Only use runloop_get_system_info function outside retroarch.c 2017-05-29 05:38:33 +02:00
twinaphex 44bf15ad28 Remove unused menu_display_msg_queue 2017-05-29 05:34:24 +02:00
twinaphex 30047af7a3 Get rid of these strdup leaks 2017-05-29 04:39:12 +02:00
twinaphex 426dfd79db Properly hide 'Core Information' if core is unloaded 2017-05-29 03:35:11 +02:00
twinaphex a58cbf6e42 Call libretro_free_system_info from RARCH_CTL_PREINIT 2017-05-29 03:26:05 +02:00
twinaphex 7fabbcebba Revert "Should get rid of the memory leaks to do with the system info"
This reverts commit 1808c6de57.
2017-05-29 03:24:15 +02:00
Jean-André Santoni 51adb3ff78 Fix the navigation pointer when clicking tabs in glui 2017-05-29 02:50:42 +02:00
twinaphex e67b6d4b3c Fix coverity error 2017-05-29 02:30:12 +02:00
Jean-André Santoni a23e2ead3c Start fixing the cancel callback in the content downloader 2017-05-29 02:25:35 +02:00
twinaphex d2bc5e0454 Fix more ASAN errors 2017-05-29 02:21:56 +02:00
twinaphex c6ead6e973 Make this code more robust 2017-05-29 02:16:25 +02:00
twinaphex 5a4bb34cf8 Fix directory selection by mouse/touch 2017-05-29 01:50:31 +02:00
twinaphex 39f1441b7c (XMB) Small optimizations 2017-05-29 01:46:57 +02:00
twinaphex 1808c6de57 Should get rid of the memory leaks to do with the system info 2017-05-29 01:40:46 +02:00
Jean-André Santoni 950aef8ded Clear the navigation pointer in the content downloader 2017-05-29 01:36:36 +02:00
twinaphex cf9ecbcf39 Revert "Not sure why we are doing this, we shouldn't need to do this if"
This reverts commit ca6c0110fe.
2017-05-29 00:59:52 +02:00
twinaphex ca6c0110fe Not sure why we are doing this, we shouldn't need to do this if
we already memcpy this in
2017-05-29 00:57:39 +02:00
twinaphex 30c5a2870f Put this back here 2017-05-28 19:11:18 +02:00
twinaphex ffe0987454 Silence some Coverity warnings 2017-05-28 19:06:15 +02:00
twinaphex c7825e4708 Put this here 2017-05-28 19:00:54 +02:00
twinaphex c2cb872b08 Cleanup 2017-05-28 18:42:11 +02:00
twinaphex fa809bd3f4 Buildfix 2017-05-28 18:36:49 +02:00
twinaphex fdafae33c1 Cleanup 2017-05-28 18:35:50 +02:00
twinaphex 9fa871ccf9 Buildfixes for consoles 2017-05-28 18:33:44 +02:00
twinaphex cf2f8f6489 Prevent passing NULL/empty strings to memcmp 2017-05-28 18:07:00 +02:00
twinaphex d8f1cf7b5a Style nits 2017-05-28 18:03:11 +02:00
twinaphex 57273a545f Be more careful here 2017-05-28 18:00:47 +02:00
twinaphex 66f056322a Fix pointer overflow 2017-05-28 17:53:45 +02:00
twinaphex 2f39e4cd33 Use local variable 2017-05-28 17:46:42 +02:00
twinaphex 857562bf9d Prevent immediate crash when compiling with SANITIZER=address 2017-05-28 17:46:01 +02:00
twinaphex 3fbed8df27 (Menu) Menu driver no longer uses a duplicate system info
struct
2017-05-28 17:21:57 +02:00
twinaphex c74104f8c9 Get rid of RARCH_MENU_CTL_SYSTEM_INFO_* 2017-05-28 16:25:46 +02:00
twinaphex ba58eaf9fe Simplify libretro_get_system_info 2017-05-28 15:52:07 +02:00
twinaphex d0b0246ee4 Add DRIVERS_CMD_ALL_BUT_MENU 2017-05-28 15:26:47 +02:00
twinaphex b5aef51cc0 Revert "Make this code somewhat more like the other menu drivers"
This reverts commit 6c5d5ea497.
2017-05-28 15:14:35 +02:00
twinaphex 6c5d5ea497 Make this code somewhat more like the other menu drivers 2017-05-28 15:13:18 +02:00
twinaphex 721c6bc5bb Create menu_driver_destroy 2017-05-28 15:09:17 +02:00
twinaphex dbbcba41a5 Clean this mess up 2017-05-28 15:03:03 +02:00
twinaphex b8041cc93b Add further conditional check 2017-05-28 13:51:55 +02:00
aliaspider d120c9f38b change this one too. 2017-05-28 12:50:21 +01:00
aliaspider b49d2a87ab getaddrinfo error codes can also be positive. 2017-05-28 12:46:39 +01:00
aliaspider f589c50043 (WiiU) misc. 2017-05-28 12:42:19 +01:00
twinaphex 3ec06a3a4c Move back to old code prior to commit 85afd63 2017-05-28 13:34:30 +02:00
Twinaphex 92b4982292 Merge pull request #4975 from fr500/master
bump
2017-05-28 03:34:20 +02:00
radius f019b434ef resume game immediately if it was already underway 2017-05-27 20:21:44 -05:00
radius 0dc55a34d9 update changelog 2017-05-27 20:16:03 -05:00
radius 79fdccb31f bump 2017-05-27 20:12:48 -05:00
twinaphex f1447ddf3f Music history list now usable for non-HAVE_FFMPEG builds 2017-05-28 00:09:30 +02:00
Twinaphex 9fe1b9f0b2 get rid of unused variables 2017-05-28 00:04:26 +02:00
twinaphex 556cc4b426 xmb_show_music no longer exclusive to HAVE_FFMPEG 2017-05-28 00:03:52 +02:00
twinaphex e47056468c xmb_show_music - no longer exclusive to HAVE_FFMPEG builds 2017-05-28 00:03:28 +02:00
twinaphex 8e2753cc53 Music history list no longer tied to HAVE_FFMPEG 2017-05-28 00:00:51 +02:00
twinaphex 9438545bca Add music tab for non-ffmpeg enabled builds now; add 'Run'
and 'Add to mixer' options when selecting Ogg/WAV files
2017-05-27 23:56:10 +02:00
twinaphex 63638ee571 Add 'Use builtin player' to file browser settings 2017-05-27 22:39:52 +02:00
twinaphex a379b71d42 Change string_is_equal to string_is_equal_noncase 2017-05-27 21:18:45 +02:00
twinaphex 4c1dc265bc Put ifdef around this 2017-05-27 21:18:23 +02:00
twinaphex 5851d103d0 Add 'Add to Mixer' option for Ogg/WAV files inside the music tab 2017-05-27 21:03:17 +02:00
Twinaphex 0b3ef16982 Merge pull request #4974 from fr500/master
re-add manual connection option, cleanup old codepaths
2017-05-27 20:05:15 +02:00
radius fabdc580ef readd manual connection option, cleanup old codepaths 2017-05-27 12:59:34 -05:00
twinaphex 3e8234ab38 Cleanups 2017-05-27 19:13:22 +02:00
twinaphex 22f8dfab2d Update 2017-05-27 17:17:52 +02:00
twinaphex a626a30098 Turn menu_display_set_alpha into macro 2017-05-27 16:52:52 +02:00
twinaphex 087debe45d Cleanups 2017-05-27 16:50:36 +02:00
twinaphex 09ddd9ddcf Cleanups 2017-05-27 16:31:47 +02:00
twinaphex 70ffe1c12e Cleanups 2017-05-27 16:26:45 +02:00
twinaphex 1acfb9fed6 Cleanups 2017-05-27 16:23:46 +02:00
twinaphex 1b754cf62d (menu_displaylist_parse_horizontal_content_actions -
Move playlist code up
2017-05-27 16:18:14 +02:00
twinaphex df17764673 Move code from menu_content.c to menu_cbs_ok.c 2017-05-27 03:51:56 +02:00
twinaphex 11576f1d99 Cleanup 2017-05-27 03:43:53 +02:00
twinaphex 08bed1b0a2 (ffmpeg core) Take out gl prefix 2017-05-27 03:28:49 +02:00
twinaphex 94e2570c2f Cleanups 2017-05-27 03:20:47 +02:00
twinaphex 716b9ac09a Start bumping up version 2017-05-27 01:25:46 +02:00
twinaphex 84418df9eb (menu_entries.c) Cleanups 2017-05-27 01:01:58 +02:00
twinaphex 63a640605c Cleanups 2017-05-27 00:50:14 +02:00
twinaphex c4478da202 (menu_displaylist.c) Cleanups 2017-05-27 00:47:55 +02:00
twinaphex 95457077c6 (menu_displaylist.c) Cleanups 2017-05-27 00:40:35 +02:00
twinaphex 5f52a06080 (menu_displaylist.c) Cleanups 2017-05-27 00:36:57 +02:00
twinaphex f1b900f7bc Cleanup 2017-05-27 00:34:36 +02:00
twinaphex a1f3aea089 Cleanups 2017-05-26 22:17:30 +02:00
twinaphex 82473e4e32 This prevents crashes 2017-05-26 22:14:36 +02:00
twinaphex c1386c6f6f Get rid of this 2017-05-26 22:13:39 +02:00
Jean-André Santoni 882fe09dad Reinit the menu when a new font is set 2017-05-26 20:39:42 +02:00
twinaphex 74f202bbda (Menu) Cleanups 2017-05-26 20:12:52 +02:00
twinaphex 588a64dcf2 Silence uninitialized variable warning 2017-05-26 19:38:54 +02:00
twinaphex b91dd1413f Silence warning 2017-05-26 19:32:18 +02:00
twinaphex 9f1ca98ca3 Update CHANGES.md 2017-05-26 18:58:40 +02:00
twinaphex 8b4f900652 menu_displaylist.c - fix bug on 'images history tab' 2017-05-26 18:32:29 +02:00
twinaphex 9f2c15c17c (Frontend) Change MENU_SETTING_ACTION to FILE_TYPE_DIRECTORY 2017-05-26 16:45:28 +02:00
twinaphex 11641645b2 (platform_linux.c) Change these entries to FILE_TYPE_DIRECTORY 2017-05-26 16:34:34 +02:00
twinaphex 43a3298990 Ability to scroll left/right when entry is on a font 2017-05-26 16:20:57 +02:00
twinaphex 1d013b49c6 Update parse_drive_list 2017-05-26 16:17:14 +02:00
twinaphex a40e77b408 Set load_content = false for audio filters/video filters 2017-05-26 16:14:28 +02:00
Jean-André Santoni 0d3593f794 Fix record config loading 2017-05-26 16:10:25 +02:00
twinaphex ecadf864c5 Fixed font selection 2017-05-26 15:57:18 +02:00
twinaphex e2a6a7ad17 Add 'load_content' parameter to parse_drive_list 2017-05-26 15:52:38 +02:00
twinaphex f89f6119e7 Cleanup some dead code 2017-05-26 15:39:55 +02:00
twinaphex 3fbfeadaf3 Cleanup menu_displaylist_ctl 2017-05-26 15:37:24 +02:00
aliaspider 5a92ec15cf (WiiU) fix netplay. 2017-05-26 12:32:45 +01:00
aliaspider e18a5716e3 realloc needed here. 2017-05-26 07:05:52 +01:00
Jean-André Santoni 0a73bccd52 Fix wrong code 2017-05-25 22:43:12 +02:00
Jean-André Santoni 9e1c426a3a Use the new netplay room list in place of the old netplay menu 2017-05-25 17:35:14 +02:00
Jean-André Santoni 329447f51c Fix warning 2017-05-25 15:40:29 +02:00
twinaphex 4f678dfdfc Cleanups 2017-05-25 15:04:55 +02:00
Jean-André Santoni 259cd900da Fix pointer timer 2017-05-25 14:14:38 +02:00
Twinaphex 056af331aa Merge pull request #4972 from alucryd/gcc710
Fix compilation with GCC 7.1.0
2017-05-25 13:44:05 +02:00
Maxime Gauduin f3453500d4 Fix compilation with GCC 7.1.0 2017-05-25 13:36:11 +02:00
Twinaphex 25210d5f2a Merge pull request #4971 from leiradel/master
Remove restriction of stereo-only OGGs
2017-05-24 22:31:28 +02:00
Andre Leiradella c72d47b9d0 Remove restriction of stereo-only OGGs 2017-05-24 21:16:19 +01:00
Twinaphex 37f74de732 (OSX) Buildfix 2017-05-24 20:19:48 +02:00
Twinaphex 62e96b63e4 Merge pull request #4969 from Sephiroth87/patch-1
Fix default record output dir on Mac
2017-05-24 16:50:33 +02:00
Fabio Ritrovato 341d1f9528 Fix default record output dir on Mac 2017-05-24 15:48:45 +01:00
Twinaphex 35e28d2f72 Merge pull request #4968 from casdevel/wasapi
Change shared-mode settings
2017-05-24 16:46:37 +02:00
Zoran Vuckovic eebd7bbeea Change shared-mode settings 2017-05-24 16:25:36 +02:00
aliaspider bf7d19f401 skip loading a core when it is already active when starting a netplay
game.
2017-05-24 15:10:31 +01:00
aliaspider 39adab8cc1 execv call was missing in frontend_linux_exec. 2017-05-24 11:13:56 +01:00
aliaspider ad7cb85fcc cannot assume the buffer size here. 2017-05-24 09:21:28 +01:00
Brad Parker a04b54006d win32: disable winraw input driver for targets older than XP 2017-05-23 21:03:00 -04:00
Andrés d00921b723 Merge pull request #4966 from fr500/fixes
Fix android build
2017-05-23 19:57:21 -05:00
radius 6f39d6da97 fix 2017-05-23 19:56:28 -05:00
radius a98c2c38c0 update copyrights 2017-05-23 19:55:47 -05:00
twinaphex 80b5bcd16c Cut down on some code duplication 2017-05-24 02:02:01 +02:00
twinaphex b70b40969b Set record output/config default dirs for Windows/Linux/Mac 2017-05-24 01:56:09 +02:00
twinaphex a883dfd825 Setup start callbacks for record config/output 2017-05-24 01:13:56 +02:00
twinaphex 9ccdcad906 Add RECORD_CONFIG/RECORD_OUTPUT to default_dirs 2017-05-24 01:11:39 +02:00
twinaphex ef4b5db5e2 Updated the other dir settings as well 2017-05-24 00:23:35 +02:00
twinaphex 0b1e6b437d Simplification 2017-05-24 00:16:56 +02:00
twinaphex c87445f0f9 This should set a sane default setting when pressing 'Start' 2017-05-24 00:15:18 +02:00
twinaphex 907f0db4a3 (platform_linux.c) Style nits 2017-05-23 22:46:12 +02:00
twinaphex bc64b7cd4e Windows buildfix 2017-05-23 21:18:20 +02:00
twinaphex d6b7bba069 Buildfix for PSP/Vita 2017-05-23 21:16:03 +02:00
twinaphex a6789c5717 Update logs 2017-05-23 21:14:53 +02:00
twinaphex 1421d1da30 Use path_mkdir 2017-05-23 20:45:14 +02:00
twinaphex 7b1b137866 Buildfixes 2017-05-23 20:39:56 +02:00
twinaphex ccba9635b6 Update the way default directories are handled 2017-05-23 19:43:58 +02:00
Twinaphex 5f0fcce8d0 Merge pull request #4965 from casdevel/wasapi-driver
Improve logging
2017-05-23 19:30:07 +02:00
Zoran Vuckovic 171694804b Improve logging 2017-05-23 19:20:41 +02:00
aliaspider 385539ccc5 fix stack overflow in netplay_refresh_rooms_cb. 2017-05-23 16:14:25 +01:00
aliaspider 78e5b63b41 (WiiU) salamander fix. 2017-05-23 12:24:37 +01:00
Twinaphex c09a2f9ab7 Merge pull request #4964 from aliaspider/master
(WiiU) enable networking.
2017-05-23 11:32:00 +02:00
aliaspider 934f7c58ba (WiiU) enable networking. 2017-05-23 10:24:23 +01:00
twinaphex 6b57791b0a Don't show up empty entries if there are no playlists 2017-05-23 10:46:42 +02:00
Twinaphex 801956aaaa Merge pull request #4963 from GregorR/netplay-pause-flush
Make sure we flush a netplay pause message, so it isn't forgotten.
2017-05-22 23:28:08 +02:00
Gregor Richards 2681352d53 Make sure we flush a netplay pause message, so it isn't forgotten. 2017-05-22 16:27:22 -04:00
Twinaphex 12e5b93a8b Merge pull request #4960 from casdevel/wasapi-driver
Simplify latency and buffer length calculations
2017-05-22 20:16:35 +02:00
Zoran Vuckovic 8ec72610d8 Remove unused variables 2017-05-22 19:57:05 +02:00
Zoran Vuckovic c045b80a5a Simplify latency and buffer length calculations 2017-05-22 18:47:48 +02:00
Twinaphex b13c8db6b5 Merge pull request #4959 from casdevel/wasapi-driver
Fix incorrect function arguments
2017-05-22 17:46:27 +02:00
Zoran Vuckovic 554519457b Fix incorrect function arguments 2017-05-22 17:29:17 +02:00
Twinaphex 88a44a2c2e Update CHANGES.md 2017-05-22 15:42:58 +02:00
twinaphex defab8842a (FFMPEG FFT) Add 1440p/2160p resolution options 2017-05-22 15:34:33 +02:00
Twinaphex 79d35d158a Use variable 2017-05-22 14:16:48 +02:00
twinaphex 98a3d80e71 Cleanups 2017-05-22 13:57:13 +02:00
Twinaphex fce0ca2a3a Merge pull request #4958 from aliaspider/master
allow easier scheduling of tasks in single threaded mode.
2017-05-22 12:50:43 +02:00
twinaphex ec79d8c46a Cleanups - don't keep setting joypad_info members needlessly - do
it once
2017-05-22 12:49:12 +02:00
twinaphex 371c3e56de Get rid of empty function 2017-05-22 12:43:50 +02:00
twinaphex 10df6d3b54 Rewrite pressed functions 2017-05-22 12:40:19 +02:00
twinaphex f62490b14f Don't have inline static functions 2017-05-22 12:34:34 +02:00
twinaphex d48ec2a9e6 Turn conditional into else if 2017-05-22 12:24:23 +02:00
twinaphex d78e1da956 Cut down on code duplication 2017-05-22 12:21:11 +02:00
aliaspider 801cc57e82 (WiiU) improve task scheduling. 2017-05-22 11:19:26 +01:00
aliaspider b00776b09e allow easier scheduling of tasks in single threaded mode by adding a
condition callback to task_queue_wait.
2017-05-22 11:18:42 +01:00
twinaphex e7d3f36a22 Call input_driver_pressed_keys_internal only once 2017-05-22 12:15:20 +02:00
twinaphex 8cc2886773 Get rid of some implicit memsets 2017-05-22 11:33:53 +02:00
twinaphex 5a46537968 Silence Coverity warning/error 2017-05-22 10:35:58 +02:00
twinaphex ec04fdf2f1 Update CHANGES.md 2017-05-22 10:03:49 +02:00
twinaphex a5d701d2dd Update CHANGES.md 2017-05-22 10:01:38 +02:00
aliaspider dd5bc1a951 (WiiU) fix icon scaling in XMB. 2017-05-22 07:34:30 +01:00
Twinaphex 50fc71a0a6 Merge pull request #4957 from fr500/fixes
[lobby] allow connecting without reloading content
2017-05-22 08:23:24 +02:00
radius 22a07eaf6c add logging 2017-05-22 01:05:39 -05:00
aliaspider 634de19dc9 (WiiU) enable libretrodb. 2017-05-22 06:07:27 +01:00
radius 80f9e6db90 update atv banner 2017-05-21 23:47:59 -05:00
radius 2797aae6cf update atv banner 2017-05-21 23:47:48 -05:00
radius 93a6426fe4 Radius TV ATV hack 2017-05-21 23:47:01 -05:00
radius e8cc77e567 cleanup 2017-05-21 23:43:13 -05:00
radius fd4e3c0448 update changelog 2017-05-21 23:43:13 -05:00
radius 75182bfc6f fix errors due to rebase 2017-05-21 23:43:13 -05:00
radius bae2110bb4 cleanup conditionals 2017-05-21 23:43:12 -05:00
radius d1291f406b allow connecting without reloading content when content_get_crc matches with that of the current loaded game 2017-05-21 23:43:12 -05:00
radius d87b85bdd1 fix LOBBY connect 2017-05-21 23:43:12 -05:00
aliaspider eede1a4978 no need to swap endianess here. 2017-05-22 05:26:13 +01:00
aliaspider db490a69a3 (WiiU) add a menu display driver. enable MATERIALUI and XMB. 2017-05-22 01:45:40 +01:00
Jean-André Santoni 0b1716650b Use additive blending for the ribbon in GL and Vulkan 2017-05-22 01:29:56 +02:00
Jean-André Santoni 1bd07c34c7 Make the Vulkan ribbon consistant with the GL ribbon 2017-05-22 00:39:09 +02:00
twinaphex b2b4cc667c Fix memory leaks 2017-05-22 00:27:41 +02:00
twinaphex f321763b1c Cleanups 2017-05-22 00:12:23 +02:00
twinaphex c0c3bb3dbd Cleanup 2017-05-22 00:11:46 +02:00
twinaphex 4963ff31f0 keyboard_event_xkb.c - cleanup 2017-05-22 00:11:28 +02:00
twinaphex 043574c5be Silence OSX warning 2017-05-22 00:04:11 +02:00
twinaphex a8b91ee910 Respect C89 rules 2017-05-21 23:55:53 +02:00
twinaphex 08521a02ba Move input code to runloop_check_state 2017-05-21 23:53:39 +02:00
twinaphex 954b95cc81 Cleanups 2017-05-21 22:43:40 +02:00
twinaphex 70bbe92154 Simplify input_menu_keys_pressed 2017-05-21 22:32:29 +02:00
twinaphex d7de9facc3 Simplify input_keys_pressed 2017-05-21 22:31:15 +02:00
twinaphex 77d83b4782 Cleanups 2017-05-21 21:55:20 +02:00
twinaphex 8bf552dacd Move this code to retroarch.c 2017-05-21 21:42:13 +02:00
twinaphex f8f25602e8 Get rid of old_input variable 2017-05-21 21:24:01 +02:00
twinaphex a35e452ec3 Use trigger_input only for menu 2017-05-21 21:19:07 +02:00
twinaphex 68ecade37d Revert "Call button combo toggle for quick menu toggle from runloop_check_state"
This reverts commit 4d4b00f877.
2017-05-21 20:57:36 +02:00
twinaphex 4d4b00f877 Call button combo toggle for quick menu toggle from runloop_check_state 2017-05-21 20:53:33 +02:00
twinaphex 3e00c632bd Pass value instead of pointer 2017-05-21 20:47:53 +02:00
twinaphex 184b519f84 Cleanups 2017-05-21 20:43:55 +02:00
twinaphex 136a435c43 Fix keys while in binding mode 2017-05-21 20:42:46 +02:00
Andrés abd6dcd57f Merge pull request #4952 from fr500/fixes
fix delimiter for mitm connect
2017-05-21 12:13:02 -05:00
radius a09a1030c0 fix delimiter for mitm connect 2017-05-21 12:04:50 -05:00
twinaphex 73cc655de7 Cleanups 2017-05-21 18:05:21 +02:00
twinaphex fd3025ff40 Memcpy the data 2017-05-21 18:04:58 +02:00
twinaphex e49c71b142 Cleanups 2017-05-21 17:10:53 +02:00
twinaphex c92bf4d5e8 Cleanups 2017-05-21 16:43:40 +02:00
twinaphex c64c072b43 runloop_cmd_triggered no longer needed 2017-05-21 16:36:27 +02:00
twinaphex cae04ff5f2 Cleanups 2017-05-21 16:36:08 +02:00
twinaphex 1d6b24b545 Optimize pause checks 2017-05-21 16:31:14 +02:00
Jean-André Santoni f25b60a7ab Display the Reboot entry in GLUI if HAVE_LAKKA 2017-05-21 15:32:09 +02:00
Jean-André Santoni bcbcabffe0 Reorder the reboot and shutdown entries 2017-05-21 15:29:33 +02:00
Twinaphex 450ab7de40 Merge pull request #4951 from leiradel/master
* Add a mutex to prevent issues if audio_mixer_mix is used in a diffe…
2017-05-21 15:26:53 +02:00
Jean-André Santoni 80f06b9574 Display thumbnails for Load Content->Collections 2017-05-21 15:08:56 +02:00
twinaphex aeddb18e31 Rewrite netplay checks 2017-05-21 14:18:10 +02:00
twinaphex 759b963c2f Rewrite menu toggle check 2017-05-21 13:54:17 +02:00
twinaphex d08b785f9d Rewrite quit key handling 2017-05-21 13:50:59 +02:00
twinaphex 24c7bcb196 Rewrite more code 2017-05-21 13:39:29 +02:00
twinaphex 1e02bd3455 Rewrite fast forward code 2017-05-21 13:32:36 +02:00
twinaphex d1b50acfee Rewrite check shader next/prev 2017-05-21 13:26:25 +02:00
twinaphex 45477658e1 Rewrite cheats 2017-05-21 13:17:48 +02:00
twinaphex d029cafdd9 CLeanups 2017-05-21 13:14:21 +02:00
twinaphex f85ab1f535 Cleanups 2017-05-21 13:06:48 +02:00
twinaphex 66b1ad99d4 Rewrite RARCH_PAUSE_TOGGLE 2017-05-21 12:59:36 +02:00
twinaphex f847548178 Cleanup 2017-05-21 12:57:28 +02:00
Andre Leiradella a088113f4c Use HAVE_THREADS around the mutex 2017-05-21 11:57:10 +01:00
twinaphex d61e5504a7 Get rid of static functions 2017-05-21 12:09:24 +02:00
twinaphex a19128422d Cleanup 2017-05-21 12:06:08 +02:00
twinaphex cd4c17624a Create check_reset 2017-05-21 12:00:03 +02:00
twinaphex 004a299b74 Create check_savestates 2017-05-21 11:52:36 +02:00
twinaphex be2fb7b10d Refactor savestate slot increase/decrease 2017-05-21 11:46:26 +02:00
twinaphex 999f7971ed Move macros 2017-05-21 11:36:47 +02:00
twinaphex 642e65f53f Add further conditional checks 2017-05-21 10:56:06 +02:00
twinaphex 3ad2d593fb Cleanups 2017-05-21 10:37:39 +02:00
twinaphex e5059a237a Cleanups 2017-05-21 10:34:50 +02:00
twinaphex c1493eb579 Cleanup 2017-05-21 10:31:25 +02:00
twinaphex 8c796f694f Windows buildfix 2017-05-21 10:04:02 +02:00
Jean-André Santoni 7197255211 (XMB) Fix dialog slice on 320x240 viewports 2017-05-21 09:55:50 +02:00
twinaphex c00e3b7b67 Another update 2017-05-21 09:43:59 +02:00
twinaphex 5cbe9dea09 Use local string for set_thumbnail_content function 2017-05-21 09:43:15 +02:00
twinaphex a0924a414f Get rid of some unnecessary function callback wrapper functions 2017-05-21 09:30:32 +02:00
twinaphex 0bb1de9561 Cleanups 2017-05-21 09:16:45 +02:00
twinaphex f653cf4e7c Make these variables part of this struct 2017-05-21 09:07:35 +02:00
aliaspider be3240a1a1 (WiiU) enable HAVE_LANGEXTRA. 2017-05-21 04:36:55 +01:00
aliaspider a03b3238cb (WiiU) update font atlas texture when required. 2017-05-21 04:36:26 +01:00
aliaspider b17e76d8b7 (WiiU) add freetype and stb font support.
freetype disabled by default due to requiring an external library.
2017-05-21 04:22:32 +01:00
aliaspider 1f13d616cc (WiiU) font renderer: fix vertical offset. 2017-05-21 04:17:38 +01:00
aliaspider 8dee95651f (WiiU) add a font driver. 2017-05-21 03:05:41 +01:00
Andre Leiradella 0c8f9663f2 * Add a mutex to prevent issues if audio_mixer_mix is used in a different thread
* Use free instead of memalign_free to free the OGG data in audio_mixer_destroy (ideally this should be a responsibility of the caller, just like with the WAV case)
* Re-use the voice in audio_mixer_stop
2017-05-21 00:23:07 +01:00
aliaspider 47d0cb053e fix resampler_sinc_process_c. 2017-05-20 23:12:56 +01:00
twinaphex e5f788b28c Update griffin 2017-05-20 23:16:49 +02:00
twinaphex e02cfe8cb0 Call core_poll at top of runloop_iterate only once 2017-05-20 22:55:34 +02:00
aliaspider ce61db1473 (WiiU) fix salamander build. 2017-05-20 21:34:50 +01:00
twinaphex 26e5c28208 Updates 2017-05-20 22:04:10 +02:00
twinaphex c962ad6009 Update 2017-05-20 21:56:32 +02:00
twinaphex d8d11c5dcc (x11_input.c) Cleanups 2017-05-20 20:57:14 +02:00
twinaphex f83a26c8b0 (udev_input.c) Simplifications 2017-05-20 20:50:23 +02:00
aliaspider 94615dfd35 remove .gitmodules 2017-05-20 19:38:01 +01:00
twinaphex 9f6dc975da Simplify udev_input.c 2017-05-20 20:35:42 +02:00
Twinaphex 8b4c92291f Merge pull request #4948 from Maschell/wiiu_controller_patcher
[Wii U] Adding support for HID Controllers
2017-05-20 20:28:58 +02:00
Maschell bd8d3d66d7 [Wii U] Using the controller_patcher lib files directly instead of including it as a submodule 2017-05-20 20:23:01 +02:00
Maschell a8a2d7730f Merge remote-tracking branch 'refs/remotes/libretro/master' into wiiu_controller_patcher 2017-05-20 20:19:04 +02:00
twinaphex ddf779008a Update 2017-05-20 19:48:02 +02:00
twinaphex 4f51341fc0 Update 2017-05-20 19:47:02 +02:00
twinaphex 46182e090b Merge keyboard_event_win32.cpp with win32_common.cpp 2017-05-20 19:46:27 +02:00
twinaphex 778ee176cc Update griffin 2017-05-20 19:44:35 +02:00
twinaphex 5a9dbf7e4f Merge keyboard files for udev/x11 2017-05-20 19:44:04 +02:00
Maschell 2da8a18086 Merge remote-tracking branch 'refs/remotes/libretro/master' into wiiu_controller_patcher 2017-05-20 19:27:13 +02:00
Maschell 7a2c09e9ce [Wii U ] Proper order of the HID devices.
Added individual names for the HID devices.
2017-05-20 19:26:12 +02:00
Maschell b34abd4c17 [Wii U] Added a missing target to the makefile 2017-05-20 19:25:33 +02:00
twinaphex 188d213c8d Cleanups 2017-05-20 19:24:21 +02:00
twinaphex e4055e0d1b Add headers 2017-05-20 19:05:09 +02:00
twinaphex b4f0ebca4d Cleanups 2017-05-20 17:55:26 +02:00
twinaphex b009b87530 Make this check a bit faster 2017-05-20 17:54:06 +02:00
twinaphex b7b7c67ca3 Windows buildfix 2017-05-20 17:47:56 +02:00
twinaphex 1ac44d8eca Fix hidden directories/files no longer showing up 2017-05-20 17:45:02 +02:00
twinaphex 0742ebec21 Get rid of local_enable variable 2017-05-20 16:32:57 +02:00
twinaphex eec0613c10 Add header include 2017-05-20 16:24:32 +02:00
twinaphex ff8a7f22fc Header include cleanup 2017-05-20 15:52:07 +02:00
twinaphex 2139abe8b7 Cut down on code duplication 2017-05-20 15:50:38 +02:00
twinaphex d339eb327c Don't implement read_stdin for Xbox 2017-05-20 15:09:19 +02:00
twinaphex e4210f5b00 Can't do this on Xbox 2017-05-20 15:02:34 +02:00
twinaphex 58787e6d89 (libretro-common) Create stdin_stream.c 2017-05-20 14:58:51 +02:00
twinaphex 4ed3e750d4 sinc_resampler - cleanups - set process function pointer
dynamically
2017-05-20 14:46:53 +02:00
twinaphex c0431b34c9 Turn some variables static 2017-05-20 14:31:07 +02:00
twinaphex 3ae54e0eed Move send_udp_packet to libretro-common 2017-05-20 14:28:18 +02:00
twinaphex bbef084955 Use getaddrinfo_retro even for dependencies 2017-05-20 14:22:30 +02:00
twinaphex 5f75ce3f12 Cleanups 2017-05-20 14:17:14 +02:00
twinaphex c1190551b2 Get rid of RUNLOOP_STATE_NONE 2017-05-20 14:14:27 +02:00
twinaphex 6fea8f14c5 Call video_driver_cb_has_focus directly 2017-05-20 14:11:50 +02:00
twinaphex bd424da015 Turn video_driver_data and current_video into static variables again 2017-05-20 14:09:24 +02:00
twinaphex 4333e3d5e7 Cleanups 2017-05-20 14:02:16 +02:00
twinaphex 57b7398bdd Move audio driver deinit 2017-05-20 13:15:14 +02:00
Maschell 2ac91822c3 Merge remote-tracking branch 'refs/remotes/libretro/master' into wiiu_controller_patcher 2017-05-20 13:14:13 +02:00
Maschell fa0d82b188 [Wii U] Fixing the .rpx build 2017-05-20 13:13:52 +02:00
twinaphex 5bcacf9b49 Create video_driver_cb_has_focus 2017-05-20 12:02:24 +02:00
twinaphex 40a287a7c1 Turn function into static function 2017-05-20 11:34:51 +02:00
Twinaphex e44475f581 Merge pull request #4946 from casdevel/gdi-winraw
Allow raw input driver to be used with GDI
2017-05-20 09:41:41 +02:00
Zoran Vuckovic 8535e766c8 Alow raw input driver to be used with GDI 2017-05-20 09:13:00 +02:00
Maschell 58543a43ff Merge remote-tracking branch 'refs/remotes/libretro/master' into wiiu_controller_patcher 2017-05-19 22:24:22 +02:00
twinaphex efce4d0abf Revert "Add cb_set_shader_coords"
This reverts commit 06df028722.
2017-05-19 21:21:40 +02:00
twinaphex 06df028722 Add cb_set_shader_coords 2017-05-19 21:13:44 +02:00
Twinaphex 8a12bb9f04 Merge pull request #4945 from casdevel/d3d-winraw
Alow raw input driver to be used with Direct3D
2017-05-19 19:54:25 +02:00
twinaphex d6c80d7de7 (D3D) Menu driver - don't use current_shader interface 2017-05-19 19:53:19 +02:00
twinaphex d8f5065d64 Add cb_set_shader_mvp 2017-05-19 19:52:33 +02:00
twinaphex 64fdadf60f Use cb_shader_use 2017-05-19 19:42:34 +02:00
twinaphex 452c02653e Turn gl_set_shader_viewport into gl_set_shader_viewports 2017-05-19 19:39:46 +02:00
Zoran Vuckovic 2eb7499b64 Alow raw input driver to be used with Direct3D 2017-05-19 19:36:14 +02:00
twinaphex 79bcc5efc9 Style nits 2017-05-19 19:16:05 +02:00
twinaphex a87f3ae3cd Prevent explicit NULL pointer dereference warning 2017-05-19 18:54:40 +02:00
twinaphex 16996aad6d Make thumbnail show too for IMAGEVIEWER type 2017-05-19 18:45:59 +02:00
Twinaphex 65fd5c406b Merge pull request #4943 from casdevel/winraw-input
Fix one pointer cast warning
2017-05-19 16:56:39 +02:00
Zoran Vuckovic 25e08cf6c4 Fix one pointer cast warning 2017-05-19 16:48:03 +02:00
twinaphex a830051076 Update gx_gfx.c 2017-05-19 16:33:59 +02:00
twinaphex 30d032ba5a Prevent some calls to menu_driver_is_alive() 2017-05-19 16:29:11 +02:00
twinaphex 21a58f13ec Revert this - seems to have come at a performance cost 2017-05-19 16:26:00 +02:00
twinaphex 1ffb1f4feb Use wrapper function for memcmp 2017-05-19 16:20:30 +02:00
Twinaphex 51bac3ef73 Merge pull request #4942 from casdevel/wgl-winraw
Allow raw input driver with OpenGL driver under Windows
2017-05-19 16:19:13 +02:00
Zoran Vuckovic 9358b0c3f3 Allow raw input driver with OpenGL driver under Windows 2017-05-19 16:13:32 +02:00
twinaphex c5485152aa Do away with conditional inside build_info 2017-05-19 15:59:28 +02:00
twinaphex cb2e898d8c Cleanups 2017-05-19 15:31:14 +02:00
twinaphex 59fb7700b8 Combine menu_driver.c and menu_display.c 2017-05-19 15:25:14 +02:00
twinaphex fd99239c99 Cleanup 2017-05-19 15:11:13 +02:00
Twinaphex 5e0eec8857 Remove unused variable 2017-05-19 14:53:25 +02:00
Twinaphex e42ed3e3df (iOS) Should fix some of the crashes 2017-05-19 14:46:59 +02:00
Twinaphex 0e4f1a400f Update ios 2017-05-19 14:38:18 +02:00
twinaphex 2a54544eb3 Add cb_shader_use to video_frame_info 2017-05-19 14:24:19 +02:00
twinaphex 4144c8de35 Prevent coverity warning 2017-05-19 13:54:43 +02:00
twinaphex b086b72ff9 (winraw_input.c) Minor cleanups 2017-05-19 12:58:44 +02:00
Twinaphex 6ef00432cb Merge pull request #4940 from casdevel/shader-glsl-revert
Fix crash in GLSL shader driver
2017-05-19 12:35:30 +02:00
Zoran Vuckovic 54b5d289b0 Fix crash in GLSL shader driver 2017-05-19 12:14:51 +02:00
twinaphex f185c1ef1f (MSVC) Buildfix 2017-05-19 06:30:49 +02:00
twinaphex c6aba1af2f Cleanups 2017-05-19 06:17:20 +02:00
twinaphex 9dbd605a66 Update 2017-05-19 05:56:20 +02:00
twinaphex 231e499714 Add winraw_input.c 2017-05-19 05:54:33 +02:00
twinaphex 2fb5e821cf Update Font Path menu option 2017-05-19 04:44:10 +02:00
twinaphex 24ce77155a Cleanup 2017-05-19 03:52:04 +02:00
twinaphex 9d74212a41 Buildfix 2017-05-19 03:35:32 +02:00
twinaphex b0398c1482 C89 build fixes 2017-05-19 03:34:53 +02:00
twinaphex fa9fe88547 Fix filebrowser issues 2017-05-19 02:39:33 +02:00
twinaphex 236f5b3514 Fix selecting image with Menu Wallpaper 2017-05-19 01:50:15 +02:00
twinaphex 6d20fa96e0 Revert "Fix #4920"
This reverts commit f341f70705.
2017-05-19 01:37:45 +02:00
twinaphex 89dddaf9f0 Cleanups 2017-05-19 01:19:38 +02:00
Jean-André Santoni f341f70705 Fix #4920 2017-05-19 00:38:20 +02:00
twinaphex 4d24153870 Turn into static function 2017-05-19 00:07:24 +02:00
Twinaphex 28cc34bf14 Merge pull request #4936 from casdevel/winraw-input
Add Windows raw input driver
2017-05-18 21:04:11 +02:00
twinaphex ed07ba0852 Update griffin.c 2017-05-18 20:34:34 +02:00
Zoran Vuckovic 1bc945e3dc Add Windows raw input driver 2017-05-18 18:48:41 +02:00
twinaphex 59b3344e72 Combine video_driver.c and video_shader_driver.c 2017-05-18 14:47:24 +02:00
twinaphex 4e7b376e18 Cleanups 2017-05-18 14:31:40 +02:00
twinaphex cb529822c6 Cleanups 2017-05-18 14:27:37 +02:00
twinaphex 374f8e8a19 Cleanups 2017-05-18 14:22:50 +02:00
twinaphex 2f72506959 Bind default function to filter_type callback 2017-05-18 14:20:05 +02:00
twinaphex 9d11133edf Cleanups - get rid of if conditionals 2017-05-18 14:18:01 +02:00
twinaphex 1411b9ee6e Do away with all these if conditionals 2017-05-18 14:06:50 +02:00
twinaphex d7ed925488 Cleanups 2017-05-18 13:40:47 +02:00
twinaphex 49bf9b62ae Cleanups 2017-05-18 09:46:04 +02:00
twinaphex d181f70303 Don't call video_viewport_get_system_av_info inside gfx/video_driver.c 2017-05-18 09:44:51 +02:00
twinaphex a0fcbf85a1 Cleanup 2017-05-18 09:36:59 +02:00
twinaphex 838c1eb93a Prevent leaks 2017-05-18 09:17:30 +02:00
twinaphex a137332218 Prevent overflowed array index read 2017-05-18 08:08:41 +02:00
twinaphex c53bb90b75 Get rid of error_msg label 2017-05-18 08:04:24 +02:00
twinaphex 82d37d2036 Don't loop audio files by default 2017-05-18 07:27:41 +02:00
twinaphex 735801a317 Create audio_driver_mixer_remove_stream static function 2017-05-18 06:19:37 +02:00
twinaphex 5343648dc9 Start creating state machien for audio mixer streams 2017-05-18 06:16:16 +02:00
twinaphex 312a2b5c80 Cleanups/try to prevent memory leaks with task_audio_mixer.c 2017-05-18 05:12:41 +02:00
twinaphex 4e04e95713 Buildfix 2017-05-18 04:03:49 +02:00
twinaphex c9af58494b Set video_context_driver functions to null functions if not
already set
2017-05-18 03:53:05 +02:00
twinaphex 3f7a30a4b3 Start hooking up dummy callback functions to video_context_data
so that conditionals aren't necessary
2017-05-18 03:37:02 +02:00
twinaphex 941a5d4f94 Go through function callback for swap_buffers as well 2017-05-18 03:05:07 +02:00
twinaphex 86ee08b7a7 Add video context driver update window title callback
to video_frame_info_t
2017-05-18 02:53:12 +02:00
twinaphex 668813cca9 (task_image.c) Refactor code 2017-05-18 01:31:14 +02:00
twinaphex 9a90477c6d Reimplement task_audio_mixer.c 2017-05-18 01:19:47 +02:00
twinaphex b3faed3906 Remove NBIO_STATUS_TRANSFER_PARSE_FREE to NBIO_STATUS_TRANSFER_FINISHED 2017-05-18 00:39:39 +02:00
twinaphex 4ad8d3c917 Remove NBIO_STATUS_POLL 2017-05-18 00:09:17 +02:00
twinaphex 80512800e1 (task_audio_mixer.c) Further work on task_audio_mixer.c 2017-05-17 14:13:02 +02:00
twinaphex 21341c5b3a Rework task_audio_mixer.c to use NBIO 2017-05-17 14:04:33 +02:00
twinaphex 2e490037ab Cleanups 2017-05-17 09:49:14 +02:00
twinaphex f9960b5f8d Typo 2017-05-17 09:43:41 +02:00
twinaphex 9096038e20 Correct set_thumbnail_system/set_thumbnail_content functions 2017-05-17 09:32:17 +02:00
Twinaphex 82c6dd1f3d Merge pull request #4929 from fr500/master
look into the history playlist too
2017-05-17 09:12:13 +02:00
twinaphex f51aa6e4ec Add TODO/FIXME note 2017-05-17 09:10:58 +02:00
radius 6e45af3858 look into the history playlist too 2017-05-17 02:08:17 -05:00
twinaphex 1178673380 Add PS4 ifdefs 2017-05-17 09:02:04 +02:00
twinaphex 7a2d799a6c Cleanups 2017-05-17 08:59:57 +02:00
Francisco José García García 2171439647 [VITA] buildfix 2017-05-17 08:55:33 +02:00
twinaphex 65b740a5ff Use some local variables 2017-05-17 08:51:49 +02:00
twinaphex 54c526f1e2 Cache menu_driver_is_alive function call 2017-05-17 08:47:23 +02:00
twinaphex ffac0c119e Cleanups 2017-05-17 07:55:02 +02:00
twinaphex fe4622fd3b Cleanups 2017-05-17 07:51:37 +02:00
twinaphex dd53162519 Add define for IPv6 code 2017-05-17 07:24:17 +02:00
twinaphex acaf65a8f7 Add in define if missing 2017-05-17 07:23:16 +02:00
twinaphex 5635894178 Buildfix 2017-05-17 07:05:15 +02:00
twinaphex be22290495 Rename to inet_ntop_compat 2017-05-17 07:00:47 +02:00
twinaphex 2749a6ada2 Add header include 2017-05-17 05:45:25 +02:00
twinaphex 8330a0ee46 Style nits 2017-05-17 05:36:02 +02:00
Twinaphex 3e69214d78 Merge pull request #4928 from fr500/master
add inet_ntop
2017-05-17 05:33:41 +02:00
radius 2f1c3fb437 add inet_ntop 2017-05-16 22:21:36 -05:00
twinaphex 204f0183e1 Header cleanups 2017-05-17 05:06:52 +02:00
twinaphex 529349019d Combine menu_navigation_ctl and menu_driver_ctl 2017-05-17 04:57:43 +02:00
twinaphex c0027ae9a1 Cleanup 2017-05-17 04:32:32 +02:00
twinaphex 7e08752da2 Revert "We can now change menu drivers on the fly"
This reverts commit 85afd633e4.
2017-05-17 04:14:29 +02:00
twinaphex aa10eecbbf Get rid of ifdef for menu_shader_pipeline 2017-05-17 03:40:57 +02:00
twinaphex 99466cba86 Cleanups 2017-05-17 03:35:20 +02:00
twinaphex 4436d5998b Cleanups 2017-05-17 03:30:37 +02:00
twinaphex 5dcebe4718 Cleanups 2017-05-17 03:25:23 +02:00
twinaphex 3a6ada1652 Cleanups 2017-05-17 03:19:19 +02:00
Andrés 64c22de3ae Merge pull request #4927 from fr500/master
use inet_ntoa if INET6_ADDRSTRLEN is not defined
2017-05-16 20:15:32 -05:00
radius a81c01729b use inet_ntoa if INET6_ADDRSTRLEN is not defined 2017-05-16 20:13:58 -05:00
twinaphex 85afd633e4 We can now change menu drivers on the fly 2017-05-17 03:04:36 +02:00
twinaphex ee8dc151a3 Combine menu_driver.c and menu_navigation.c 2017-05-17 03:00:32 +02:00
twinaphex 5072de4c0f (menu_navigation.c) Cleanup 2017-05-17 02:48:52 +02:00
Twinaphex e6f5270c3d Merge pull request #4926 from orbea/Wnonnull
Silence a -Wnonnull warning
2017-05-17 02:34:34 +02:00
orbea 649205178f Silence a -Wnonnull warning 2017-05-16 16:14:20 -07:00
twinaphex efacf637db Cleanup 2017-05-16 23:12:03 +02:00
twinaphex acbf11931b Move code 2017-05-16 22:46:56 +02:00
twinaphex 717709ef9e (wgl_ctx.cpp) Cleanups 2017-05-16 22:46:09 +02:00
twinaphex 7b7a31d944 Should link now 2017-05-16 22:43:21 +02:00
twinaphex f24a73351c Only use wglGetProcAddress for OpenGL 2017-05-16 22:40:47 +02:00
twinaphex 7cb78d499c Rework WANT_WGL rules 2017-05-16 22:33:48 +02:00
twinaphex 0a1f1237aa Comment out inet_ntop for now 2017-05-16 22:16:41 +02:00
twinaphex 4df6151e14 video_driver_init_filter - cleanup 2017-05-16 21:36:33 +02:00
twinaphex dd9034248b Take out HAVE_SHADERPIPELINE ifdef 2017-05-16 21:25:15 +02:00
twinaphex 0aeb683444 Style nits/cleanups 2017-05-16 20:33:14 +02:00
twinaphex 944eff06b8 Cleanup 2017-05-16 20:25:54 +02:00
twinaphex 2562391167 Split up runloop message queue code from netplay_log_connection 2017-05-16 20:24:08 +02:00
twinaphex eb409328ec Style nits 2017-05-16 20:15:57 +02:00
Twinaphex 808b973752 (OSX) Silence warnings 2017-05-16 08:44:17 +02:00
Twinaphex 0f91cf67fc Merge pull request #4923 from fr500/master
Netplay refinements
2017-05-16 08:05:08 +02:00
radius 54ce598a00 cut code duplication further 2017-05-16 00:34:28 -05:00
radius 1de95c6413 further refinement of the netplay workflow 2017-05-16 00:18:29 -05:00
radius ea0202a39d LAN rooms work on android although it seems to be always using IPv6 now 2017-05-16 00:18:28 -05:00
radius d749790521 add sublabel indicating the room type 2017-05-16 00:18:28 -05:00
twinaphex 140ad6ab98 Update msg_hash_pt_br.c 2017-05-16 05:47:17 +02:00
twinaphex e3213cc8a7 Use string_is_equal_fast macros 2017-05-16 05:46:05 +02:00
twinaphex 1bf0175da4 Try to prevent string message leaking in tasks 2017-05-16 04:50:20 +02:00
twinaphex 61a4e94649 Use string_is_equal_fast 2017-05-16 04:04:21 +02:00
twinaphex 126a5bf121 Use string_is_equal_fast/string_is_not_equal_fast 2017-05-16 04:00:37 +02:00
twinaphex 8eca08c6ac Start using string_is_equal_fast/string_is_not_equal_fast macros
instead of straight memcmp
2017-05-16 03:20:59 +02:00
Andrés 98a79f2279 Update CHANGES.md 2017-05-15 20:13:39 -05:00
Twinaphex c035f9597a Merge pull request #4921 from fr500/master
NETPLAY menu improvements
2017-05-16 03:00:19 +02:00
twinaphex 7e89335392 (task_wifi.c) Prevent memory leak for title 2017-05-16 02:52:30 +02:00
twinaphex 8e76c4a131 Prevent title memory leak 2017-05-16 02:48:54 +02:00
radius c783dbff28 remove some more code duplication, lan rooms now show up correctly on left-right 2017-05-15 19:45:23 -05:00
Brad Parker b8cf967914 utf8 bom fixes for msvc 2017-05-15 20:41:04 -04:00
radius 4710bfcf43 split this function to avoid some code duplication 2017-05-15 19:25:56 -05:00
radius a98033f375 make the --start netplay host-- entry context sensitive 2017-05-15 18:58:46 -05:00
twinaphex 2f9eb86a59 Cleanup 2017-05-16 00:02:26 +02:00
twinaphex c21abd28f8 Implement audio_mixer_stopped differently 2017-05-15 23:15:22 +02:00
twinaphex b8cea125e4 Create stub function for looping sounds 2017-05-15 23:03:54 +02:00
Jean-André Santoni 8e47e7e8b3 Fix #4920 2017-05-15 21:24:27 +02:00
twinaphex eddb655eb9 Split off user_language from settings struct 2017-05-15 20:41:04 +02:00
twinaphex 15142be8ee Cleanups 2017-05-15 20:30:37 +02:00
twinaphex 6b4d4447b2 Cleanups 2017-05-15 20:24:12 +02:00
twinaphex 69f9bc840d Remove unused variable 2017-05-15 19:16:40 +02:00
twinaphex 7bf34c48a9 Cal xmb_list_get_selection only once 2017-05-15 19:00:24 +02:00
Jean-André Santoni 17837ec81d Display thumbnails in the Database Manager 2017-05-15 13:05:33 +02:00
twinaphex 63762e8850 (menu_input.c) Cleanups 2017-05-15 11:34:12 +02:00
twinaphex 5fc5cb4962 Cleanups 2017-05-15 11:25:45 +02:00
Twinaphex 2becbaf4e2 Merge pull request #4917 from aliaspider/master
Vulkan: font driver updates.
2017-05-15 11:24:42 +02:00
twinaphex 67610b8263 Update task_audio_mixer.c 2017-05-15 11:07:12 +02:00
twinaphex 375b588847 Cleanups 2017-05-15 09:29:44 +02:00
twinaphex d28ec842f3 Add menu_driver_push_list 2017-05-15 08:29:47 +02:00
twinaphex 575095c8e6 Add menu_driver_load_image 2017-05-15 08:21:02 +02:00
twinaphex 076a83a62b Remove some RARCH_MENU_CTL_ actions 2017-05-15 08:03:35 +02:00
twinaphex f584d1cea5 Add menu_driver_populate_entries 2017-05-15 07:59:24 +02:00
twinaphex 1fef134f04 Create menu_driver_navigation_set 2017-05-15 07:56:22 +02:00
aliaspider b503407abb Vulkan: font driver updates.
- submit font texture staging_to_dynamic copy with a seperate command
buffer. fixes a validation issue caused by using vkCmdCopyImage during a
render pass.
- limit copies to updated glyphs.
2017-05-15 05:52:38 +01:00
aliaspider 36137d22e5 Vulkan: use the command buffer provided as parameter in
vulkan_copy_staging_to_dynamic.
2017-05-15 05:35:17 +01:00
twinaphex d01b81749d Cleanups 2017-05-15 05:32:23 +02:00
twinaphex a0256fa321 Update CHANGES.md 2017-05-15 05:21:28 +02:00
twinaphex bf3188eac4 Combine runloop_ctl and rarch_ctl 2017-05-15 05:06:23 +02:00
twinaphex 06f3feec61 Cleanups 2017-05-15 04:39:09 +02:00
twinaphex 160c8167d6 Cleanups 2017-05-15 04:36:48 +02:00
twinaphex e2c7671e9f Create rarch_menu_running/rarch_menu_running_finished 2017-05-15 04:31:40 +02:00
twinaphex c70916ca31 Move callback to menu_displaylist.c 2017-05-15 02:57:47 +02:00
twinaphex b9148c1d70 Cleanups 2017-05-15 02:50:14 +02:00
twinaphex 8bdcb2f123 Push callback to task_push_wifi_scan 2017-05-15 02:44:24 +02:00
twinaphex 56fb642119 Rewrite task_netplay_lan_scan.c - pass callback function to task 2017-05-15 02:09:26 +02:00
Twinaphex 0655b49408 Merge pull request #4916 from aliaspider/master
Vulkan: Add unicode support.
2017-05-15 01:41:55 +02:00
aliaspider 1122a7c585 Vulkan: Add unicode support. 2017-05-15 00:37:50 +01:00
twinaphex c898ef1d6d Attempt to copy over audio mixer data 2017-05-15 01:28:46 +02:00
Twinaphex ba5f7ff5e4 Merge pull request #4915 from leiradel/master
Fix the parameter name
2017-05-15 00:26:27 +02:00
Andre Leiradella 9f5ec1cc42 Fix the parameter name 2017-05-14 23:14:09 +01:00
twinaphex b4e3a22fe6 Update 2017-05-14 23:59:06 +02:00
twinaphex 949a5c76fe Cleanup 2017-05-14 23:58:48 +02:00
twinaphex 6741423410 Fix mistake 2017-05-14 23:46:02 +02:00
twinaphex 3410d5c4e4 Cleanups 2017-05-14 23:36:30 +02:00
Twinaphex 2fc45fb5ac Merge pull request #4914 from leiradel/master
Pass the correct structure to the callback
2017-05-14 23:32:25 +02:00
twinaphex ec96fe89e9 Add callback function 2017-05-14 23:30:45 +02:00
Andre Leiradella eb08a3dbef Pass the correct structure to the callback 2017-05-14 22:29:52 +01:00
twinaphex 3afd2497d2 Add test 2017-05-14 23:27:03 +02:00
twinaphex b0746a4910 Update 2017-05-14 23:14:50 +02:00
twinaphex dd4146e302 Try to write initial implementation of audio mixer task 2017-05-14 23:12:27 +02:00
Twinaphex 2ee3f12c9d Merge pull request #4913 from leiradel/master
Use next_pow2
2017-05-14 23:02:28 +02:00
Andre Leiradella 4a611b5096 Use next_pow2 2017-05-14 21:59:29 +01:00
twinaphex b13ca2df97 (task_patch.c) Cleanup 2017-05-14 22:23:05 +02:00
twinaphex 4afa2871ab Add comments 2017-05-14 21:00:25 +02:00
twinaphex 80d9d1f143 Rewrite task_queue 2017-05-14 20:43:48 +02:00
Twinaphex 1345e97f8c Merge pull request #4911 from sergiobenrocha2/master
Change default overlay in mobile to flat/retropad.cfg
2017-05-14 20:36:09 +02:00
twinaphex c6dd51da35 Cleanups 2017-05-14 20:25:13 +02:00
twinaphex 9e26332c48 Cleanups 2017-05-14 20:23:10 +02:00
Sérgio Benjamim b8c3c6e405 Change default overlay in mobile to flat/retropad.cfg 2017-05-14 14:29:39 -03:00
twinaphex 0e34d362d3 Fix video_driver_is_focused - keyboard should work again with
threaded video
2017-05-14 18:52:36 +02:00
twinaphex 52c1d398a2 (audio_driver.c) Cleanup 2017-05-14 17:40:17 +02:00
twinaphex ed40b13ea0 (task_image.c) Cleanups 2017-05-14 17:32:07 +02:00
twinaphex f98473b9da (task_image.c) Cleanups 2017-05-14 08:09:21 +02:00
twinaphex a4ac0df389 (task_image.c) Cleanups 2017-05-14 08:06:40 +02:00
twinaphex 13d6827689 (task_image.c) Cleanups 2017-05-14 07:58:43 +02:00
twinaphex f70da4c2e2 Cleanups 2017-05-14 05:06:01 +02:00
twinaphex 2df6b201da Cleanup 2017-05-14 05:02:17 +02:00
twinaphex fe56e4ffea Grab from global pointer 2017-05-14 05:00:24 +02:00
twinaphex e6bcb64ced Add name_ips/name_bps/name_ups 2017-05-14 04:52:34 +02:00
twinaphex 70457e06d8 Cleanups 2017-05-14 04:50:57 +02:00
twinaphex 055044be96 Set these values back to defaults here 2017-05-14 04:13:08 +02:00
twinaphex c78ce113b4 CXX_BUILD buildfix 2017-05-14 03:29:26 +02:00
twinaphex e5ed82858f C89_BUILD buildfix 2017-05-14 03:24:59 +02:00
Twinaphex 29121389e1 Merge pull request #4907 from leiradel/master
Taskified cheevos
2017-05-14 03:21:07 +02:00
Andre Leiradella 4764ba8770 Removed debug logs; added activity log 2017-05-14 01:20:07 +01:00
twinaphex fbe307ece7 Add file to Griffin 2017-05-14 02:04:06 +02:00
twinaphex def3343272 Add empty audio_mixer file 2017-05-14 02:03:40 +02:00
Andre Leiradella fb5d31816d Taskified cheevos 2017-05-14 01:01:17 +01:00
twinaphex c485b5b292 Add ogg and wav to file_path_str.c 2017-05-14 01:40:52 +02:00
twinaphex 88dbbb284d Add ips_pref/bps_pref/ups_pref to content_information_ctx 2017-05-14 01:12:47 +02:00
twinaphex 88c04be7a4 Cleanups 2017-05-14 01:04:37 +02:00
twinaphex 7dfbfef995 Cleanups 2017-05-14 00:54:58 +02:00
twinaphex 71499abf1f (task_patch.c) Cleanups 2017-05-14 00:52:56 +02:00
twinaphex 0185f71bab Cleanups 2017-05-13 23:47:25 +02:00
twinaphex 6dd3a84bc9 Cleanup 2017-05-13 23:41:13 +02:00
twinaphex 581333f222 Get rid of implicit memset 2017-05-13 23:24:27 +02:00
twinaphex b75f242a7f Cleanups 2017-05-13 22:35:10 +02:00
twinaphex 484fff5e28 Cleanups 2017-05-13 22:30:45 +02:00
twinaphex bd7970b9b7 Cleanups 2017-05-13 22:28:19 +02:00
twinaphex 8ae708576f task_patch.c - cleanups 2017-05-13 22:21:57 +02:00
twinaphex 6433cde3c0 Cleanups 2017-05-13 21:06:57 +02:00
twinaphex dd79c9a236 Pass is_idle to menu driver render function 2017-05-13 21:06:06 +02:00
twinaphex a7d09733a6 Get rid of rarch_ctl/runloop_ctl calls from menu_display.c 2017-05-13 20:00:51 +02:00
twinaphex 34870290cd Add menu_display_has_windowed - don't query video_driver_has_windowed
every time
2017-05-13 19:43:30 +02:00
twinaphex b22d7902f1 Turn macro back into function 2017-05-13 19:37:16 +02:00
twinaphex 17a15273ba Create function out of video_driver_is_focused - no longer
call video_driver_context_focus from video driver
2017-05-13 19:19:49 +02:00
twinaphex d4756f83e5 Stop calling video_driver_context_has_windowed from within video
drivers
2017-05-13 19:11:32 +02:00
twinaphex f6c8aba119 Move video_context_driver_update_window_title to video_driver_frame 2017-05-13 18:58:13 +02:00
twinaphex 45a648b042 Cleanups 2017-05-13 18:51:16 +02:00
twinaphex d87e1c57d6 Cleanups 2017-05-13 18:20:14 +02:00
twinaphex 72fe4a1e3c CLeanups 2017-05-13 18:10:26 +02:00
twinaphex 72bd83b8d1 Cleanups to tasks_internal.h 2017-05-13 18:08:37 +02:00
twinaphex e378b7053d Update 2017-05-13 17:55:29 +02:00
Twinaphex bd012a567e Merge pull request #4905 from frangarcj/master
(VITA) Fix problem with font renderer
2017-05-13 16:08:55 +02:00
Francisco José García García 5fc7a6776b (VITA) Fix problem with font renderer 2017-05-13 14:17:55 +02:00
Jean-André Santoni ce9439e722 Display Lakka version in System Information 2017-05-13 13:12:15 +02:00
twinaphex 541c6e6c41 (task_image.c) Cleanups 2017-05-13 08:06:52 +02:00
twinaphex 43dcc3d501 Add NBIO_TYPE_OGG/NBIO_TYPE_WAV 2017-05-13 08:03:00 +02:00
twinaphex acf7c681b4 Change to calloc 2017-05-13 07:56:44 +02:00
twinaphex 19db4f63a7 Take out filestream from audio_mixer.c 2017-05-13 07:53:42 +02:00
twinaphex e7061a8d2a Cleanups 2017-05-12 03:45:49 +02:00
twinaphex fa4a8b8bbd Cleanups 2017-05-12 03:39:37 +02:00
twinaphex 2adace47d4 Cleanup 2017-05-12 03:18:43 +02:00
aliaspider 66c8778878 'es' is required after #version 300. 2017-05-12 01:29:02 +01:00
twinaphex 3cb5b651a2 Add msg_hash_vn.h 2017-05-12 00:28:07 +02:00
Twinaphex c4f2e30819 Merge pull request #4902 from gouchi/master
Update Russian translation courtesy of Andrei Андрей Михайлов
2017-05-11 21:06:56 +02:00
gouchi aa55ab4866 Update Russian translation courtesy of Andrei Андрей Михайлов 2017-05-11 20:59:25 +02:00
aliaspider 9b1e66d302 correct the mask used on the first byte in utf8_walk. fixes #4892 2017-05-11 17:41:27 +01:00
twinaphex 2ce9d71553 Start cutting down on runloop_ctl actions 2017-05-11 09:20:35 +02:00
twinaphex 42ebe7a7ad Merge runloop.c and retroarch.c 2017-05-11 09:11:46 +02:00
Twinaphex cc9e951b44 Cleanup 2017-05-11 07:37:20 +02:00
twinaphex 2906bec7a8 Create input_driver_get_uint 2017-05-11 07:36:21 +02:00
aliaspider 1223309052 better handling of existing #version directive in glsl shaders. 2017-05-11 05:14:11 +01:00
twinaphex f060863d40 Update CHANGES.md 2017-05-11 03:00:24 +02:00
twinaphex 57089dc108 Update gl_common.c - update CHANGES.md 2017-05-11 02:56:11 +02:00
Francisco José García García 1e7701bf29 [VITA] Fix 30 fps menu and frame throttle 2017-05-11 02:51:10 +02:00
twinaphex 9a6e137a56 Get rid of header include 2017-05-10 07:10:05 +02:00
twinaphex ef8094836f Create input_driver_get_float 2017-05-10 07:07:06 +02:00
twinaphex e0c0815f42 (shader_vulkan.cpp) cleanups - don't use memset 2017-05-10 06:40:21 +02:00
twinaphex 1b302d6e40 (shader_vulkan.cpp) Cleanups 2017-05-10 06:31:06 +02:00
twinaphex 865ec1eb71 Cleanup 2017-05-10 06:23:53 +02:00
Twinaphex c43a733dba Merge pull request #4897 from hizzlekizzle/master
fix version directives in GLSL shaders, courtesy of aliaspider
2017-05-10 06:22:38 +02:00
hunterk 7f8d4479f4 fix version directives in GLSL shaders, courtesy of aliaspider 2017-05-09 23:20:00 -05:00
Twinaphex ed2dedb233 Update CHANGES.md 2017-05-10 05:55:34 +02:00
Twinaphex a44318dae5 Merge pull request #4896 from fr500/master
fix #3829 & #4820
2017-05-10 05:44:17 +02:00
radius 4af9a92f76 fix 3829 2017-05-09 22:10:46 -05:00
twinaphex 9dff2434ef Fix some structurally dead code warnings 2017-05-09 20:54:03 +02:00
twinaphex 5a9f6ad9b7 Try to prevent null pointer dereference 2017-05-09 20:45:09 +02:00
twinaphex 06f5f635ca Cleanups 2017-05-09 20:10:58 +02:00
twinaphex 476738cc5c Cleanups 2017-05-09 20:08:40 +02:00
twinaphex 739495027b Cleanups 2017-05-09 20:03:39 +02:00
twinaphex 7ed57ee77d (task_image) Cleanups 2017-05-09 20:01:42 +02:00
twinaphex da1ab24c57 Cleanups 2017-05-09 07:13:47 +02:00
twinaphex 83b0d3e412 Update rwav.h 2017-05-09 02:46:32 +02:00
twinaphex 3593256a76 MSVC Buildfix 2017-05-09 02:29:24 +02:00
Twinaphex e3f854092f Remove unused variables 2017-05-09 01:53:03 +02:00
twinaphex d75f155eb6 Reorder video_driver.h 2017-05-09 01:37:12 +02:00
twinaphex f928e57064 Combine video_context_driver.c and video_driver.c 2017-05-09 01:25:59 +02:00
twinaphex fa5d2b9920 Remove audiomixer-test.diff 2017-05-09 01:00:42 +02:00
twinaphex bac9973354 Cleanups 2017-05-09 00:58:01 +02:00
twinaphex 281dd9b4ac bsv_movie_check - cleanup 2017-05-09 00:40:13 +02:00
twinaphex 67c67f566f Cleanups 2017-05-09 00:30:10 +02:00
twinaphex e8c1c153d6 Prevent nULL pointer dereference 2017-05-08 22:55:45 +02:00
twinaphex 779a7676d6 Try to prevent null pointer dereference 2017-05-08 22:53:06 +02:00
twinaphex 18f06e177e Silence Coverity warning 2017-05-08 22:40:19 +02:00
twinaphex 99e7cb7d75 Only need to grab settings pointer from within audio_driver_flush
now when setting slowmotion
2017-05-08 21:50:21 +02:00
Maschell 63bb97287f [Wii U] Removed forcing Gamepad reading success 2017-05-08 21:49:24 +02:00
Maschell 4393e17ea7 [Wii U] Using the HID Controller as a own controller. Currently the stick only work when it's bind manually. Mapping from controller to retroarch input port may change when you attach a new device. 2017-05-08 21:46:34 +02:00
twinaphex 097515fa63 No longer have to grab settings pointer to get audio mute value 2017-05-08 21:39:08 +02:00
twinaphex 95214e8180 Cleanup 2017-05-08 21:31:14 +02:00
twinaphex c63f059e10 Cleanups 2017-05-08 21:28:21 +02:00
twinaphex 138a12d5e1 Cleanups 2017-05-08 21:24:14 +02:00
twinaphex 8e3d0612d2 Try to fix MSVC error 2017-05-08 21:12:55 +02:00
twinaphex efd0c991a6 Refactor audio_mixer_play 2017-05-08 20:44:25 +02:00
twinaphex a29e416be8 Another cleanup to wav2float 2017-05-08 20:37:12 +02:00
twinaphex 6766a62300 Cleanups 2017-05-08 20:35:02 +02:00
twinaphex bd36b0a968 (audio_mixer.c) Some refactors 2017-05-08 20:27:13 +02:00
twinaphex 48c4e1227a Add audio_mixer_active variable 2017-05-08 19:24:15 +02:00
twinaphex fec24bd47b Cleanup rwav 2017-05-08 18:45:37 +02:00
twinaphex de6e138d15 (audio_mixer.c) Cleanups 2017-05-08 18:37:31 +02:00
twinaphex 4a7c81b353 Cleanup wav2float - add some suggestions for leiradel here 2017-05-08 18:30:15 +02:00
twinaphex ef9c16c7c9 Add audio_mixer_done to audio_driver_deinit 2017-05-08 18:21:33 +02:00
twinaphex d8680542ba Add audio mixer calls 2017-05-08 18:18:43 +02:00
twinaphex 0411aba219 (audio_mixer.c) Cleanups 2017-05-08 18:11:09 +02:00
twinaphex 6c164984a0 Update audiomixer-test.diff 2017-05-08 17:52:28 +02:00
Maschell ad0953ac87 [Wii U] Adding missing .gitmodules file 2017-05-08 12:35:03 +02:00
Maschell 11a0610d13 [Wii U] Updating to new controller patcher. Removing debug stuff. 2017-05-08 12:32:02 +02:00
Maschell e695d4e8ad [WiiU] Initial controller patcher support (HID via USB and network)
- Reading config from sd cards currently broken
- Not implemeted as a driver, currently all devices will be mapped to the WiiU Gamepad driver
2017-05-08 12:24:06 +02:00
Maschell da0f3620bc [Wii U] Adding missing includes and defines 2017-05-08 12:18:28 +02:00
Maschell 4f4d288253 Merge remote-tracking branch 'refs/remotes/libretro/master' 2017-05-08 12:01:13 +02:00
twinaphex 127b803fba Update audiomixer-test.diff 2017-05-08 06:05:08 +02:00
twinaphex b4782d9a51 (audio_mixer.c) Small refactors 2017-05-08 05:59:45 +02:00
twinaphex 5245590bae (audio_mixer.c) Prevent null pointer dereference 2017-05-08 05:55:20 +02:00
twinaphex 5e7f175545 Remove some obsolete RUNLOOP_CTL_ actions 2017-05-08 04:41:24 +02:00
twinaphex 0eec872442 Kill some rarch_ctl actions 2017-05-08 03:59:02 +02:00
twinaphex 9605c01c49 Rename command_event_quit to retroarch_main_quit 2017-05-08 03:54:51 +02:00
twinaphex 0815055906 Pressing hotkey should invoke same operation as manually selecting
'Quit' from the menu - should hopefully fix issues with flushing
SRAM to disk/saving autostate
2017-05-08 03:41:23 +02:00
twinaphex fb78a3a017 (movie.c) Cleanups 2017-05-08 02:39:43 +02:00
twinaphex b73575bf79 Remove header include 2017-05-08 02:29:35 +02:00
twinaphex 988647f92a Move defines to configuration.c 2017-05-08 02:25:55 +02:00
twinaphex 4595ba8e1f (config.def.h) Refactor some of the defines 2017-05-08 02:20:02 +02:00
twinaphex 77a56f5114 Dehardcode recording driver enums 2017-05-07 22:54:03 +02:00
twinaphex 9bb5430956 Try to silence some more Coverity warnings 2017-05-07 22:52:34 +02:00
twinaphex 191c4f5299 Directly initialize some variables 2017-05-07 22:47:00 +02:00
twinaphex 308ff366de Fix missing break in switch 2017-05-07 22:44:07 +02:00
Twinaphex 601a260d47 Merge pull request #4890 from leiradel/master
Don't use more than 32 MB of the content data to compute the hash
2017-05-07 22:16:29 +02:00
Andre Leiradella 78efeb6ae2 Fix griffin and HTTP server builds 2017-05-07 19:52:22 +01:00
Andre Leiradella 7404abf938 Don't use more than 32 MB of the content data to compute the hash 2017-05-07 19:46:22 +01:00
Twinaphex 12027bf1a8 Merge pull request #4889 from leiradel/master
Reverted cheevos changes in preparation for conversion to task; fixed 4884
2017-05-07 20:28:32 +02:00
Andre Leiradella 844d1475e6 Reverted cheevos changes in preparation for conversion to task; fixed 4884 2017-05-07 19:06:03 +01:00
twinaphex 43956f07fa Add function prototype 2017-05-07 19:46:27 +02:00
twinaphex f97d084290 Create camera_driver_poll 2017-05-07 19:24:03 +02:00
twinaphex a2fe3dcaaf Revert "Refactor BSV movie code"
This reverts commit 7dca09d6f8.
2017-05-07 18:28:07 +02:00
twinaphex a43289684d Revert "Get rid of log message"
This reverts commit 2670d22d61.
2017-05-07 18:27:59 +02:00
twinaphex 2670d22d61 Get rid of log message 2017-05-07 18:22:23 +02:00
twinaphex 7dca09d6f8 Refactor BSV movie code 2017-05-07 18:21:58 +02:00
twinaphex e09358c712 Refactor bsv_movie_init code 2017-05-07 18:15:30 +02:00
twinaphex ce8083fd2e Create runloop_{set|unset} - only do autosave lock/unlock if
autosaves are actually active
2017-05-07 18:05:37 +02:00
twinaphex 924296c680 task_save.c - remove runloop.h header include 2017-05-07 17:53:53 +02:00
twinaphex 4d20460e6b Cleanup task_save.c 2017-05-07 17:52:48 +02:00
twinaphex 750d404e23 Rewrite autosave_init 2017-05-07 17:45:53 +02:00
Twinaphex 958fd82f24 Merge pull request #4887 from Avton1/patch-3
Update msg_hash_ru.h
2017-05-07 04:33:57 +02:00
twinaphex e0082c1a9f This still segfaults 2017-05-07 04:33:09 +02:00
Avton1 0b4e690f4d Update msg_hash_ru.h 2017-05-07 10:09:05 +08:00
twinaphex 03db246f88 Refactor cheevos_is_nes_game 2017-05-06 18:47:16 +02:00
twinaphex 637e8d76ab Create cheevos_is_nes_game 2017-05-06 18:43:45 +02:00
twinaphex 24ac625179 Update libretro-common 2017-05-06 18:23:26 +02:00
twinaphex 96718b281e Get rid of some bsv_movie_ctl actions 2017-05-06 18:14:16 +02:00
twinaphex d349ea61cf Create bsv_movie_end_of_file 2017-05-06 18:11:18 +02:00
twinaphex 7c9736bae8 Add to CHANGES.md 2017-05-06 18:07:11 +02:00
twinaphex 9e25597943 Prevent coverity warning 2017-05-06 18:00:44 +02:00
twinaphex ed86a2ed10 Add threading error notes 2017-05-06 17:35:12 +02:00
Twinaphex 0e2318998e Merge pull request #4886 from Avton1/patch-2
Update msg_hash_ru.h
2017-05-06 17:28:28 +02:00
Twinaphex 346a05b5fb Merge pull request #4885 from Avton1/patch-1
Update msg_hash_ru.h
2017-05-06 17:28:17 +02:00
twinaphex 881b18a965 Cleanups 2017-05-06 17:23:19 +02:00
twinaphex 75c45c4f2b Try to avoid warning 2017-05-06 17:15:35 +02:00
twinaphex 88ca3e993c (task_cheevos.c) Use retro_miscellaneous' next_pow2 function 2017-05-06 17:03:53 +02:00
twinaphex 0ba93887bf Optimize retro_endianness when MSB_FIRST is known 2017-05-06 16:52:30 +02:00
twinaphex 593334747b Define MSB_FIRST for RetroArch PPC 2017-05-06 16:45:02 +02:00
twinaphex 15a5083b8c (360) Define MSB_FIRST for RetroArch Salamander 2017-05-06 16:43:53 +02:00
twinaphex de80671658 Simplify content_get_crc 2017-05-06 16:41:22 +02:00
Avton1 3a17f41dc8 Update msg_hash_ru.h 2017-05-06 19:23:08 +08:00
Avton1 9517eff012 Update msg_hash_ru.h 2017-05-06 19:07:48 +08:00
twinaphex 46b1b113e0 Cheevos - buildfix 2017-05-06 06:48:32 +02:00
twinaphex d9c5013d42 Pass settings struct around 2017-05-06 06:46:48 +02:00
twinaphex 558cb64438 Don't grab settings pointer during task_overlay_handler 2017-05-06 06:08:24 +02:00
twinaphex 36375cecf8 input_swap_override - Get rid of dependency on settings 2017-05-06 06:01:15 +02:00
twinaphex 33f2fe8029 Move cheevos.c to tasks/task_cheevos.c and add TODO/FIXME note 2017-05-06 05:50:46 +02:00
twinaphex 75a5af26c6 Revert "(task_autodetect.c) Set input_swap_override later on"
This reverts commit 582573f324.
2017-05-06 05:42:11 +02:00
twinaphex 582573f324 (task_autodetect.c) Set input_swap_override later on 2017-05-06 05:32:46 +02:00
twinaphex 44b9943738 Cleanups to task_content.c 2017-05-06 05:19:19 +02:00
twinaphex 2c28505e04 Refactor cheevos_load 2017-05-06 05:13:28 +02:00
Twinaphex 2357c9ef82 Merge pull request #4883 from andrewlxer/master
Fix performance issue with max_swapchain_images
2017-05-06 02:54:12 +02:00
Andrew 858e15b837 Fix performance issue with max_swapchain_images
This fixes a performance problem introduced in my last commit when
max_swapchain_images == 3.

In my last commit I incorrectly stated the 3rd buffer was not being
used, after doing some additional testing I realized I was mistaken,
it can indeed be used due to the used page tracking.

Reverting that portion of my previous commit.
2017-05-05 16:58:17 -07:00
Twinaphex 6e51153387 Revert "Cleanu gl_raster_font_render_line"
This reverts commit 45cf53b487.
2017-05-05 05:30:49 +02:00
twinaphex 45cf53b487 Cleanu gl_raster_font_render_line 2017-05-05 05:23:26 +02:00
Twinaphex 2d83ed388f Merge pull request #4880 from andrewlxer/master
Fix max_swapchain_images and do some additional cleanup
2017-05-05 04:10:32 +02:00
Andrew 01e25bd5c7 Fix max_swapchain_images and do some additional cleanup
When max_swapchain_images was originally added it worked properly,
but was subsequently broken by using the value to specify the number
of buffers allocated.

Due to how the dispmanx driver works, only 2 buffers are ever actually
used, so the 3rd buffer in the "swapchain" ended up doing nothing.

Fix this by restoring it to the original intent, that is, if
max_swapchain_images <= 2 wait for vsync after the flip (reducing
lag), otherwise wait at the last possible moment (increasing lag).

Additionally, fix up some unnecessary void* usage where type safety
could be maintained.
2017-05-04 18:45:59 -07:00
twinaphex dfed19cb4d (Cheevos) More cleanups 2017-05-04 16:15:19 +02:00
twinaphex 10b636f80d (Cheevos) Cleanups 2017-05-04 16:13:11 +02:00
Jean-André Santoni c34b4dd787 Fix lakka settings 2017-05-03 17:01:37 +02:00
Jean-André Santoni a2d4a9efc5 Update lakka upgrading url 2017-05-03 16:52:25 +02:00
Twinaphex e9b7c32393 Merge pull request #4876 from aliaspider/master
XMB: unload thumbnail textures in xmb_context_destroy. fixes #3141
2017-05-03 15:31:28 +02:00
aliaspider 5a16b61ec5 XMB: unload thumbnail textures in xmb_context_destroy. fixes #3141 2017-05-03 14:14:35 +01:00
Brad Parker a568782309 add "off" toggle option to thumbnails in library 2017-05-02 22:27:36 -04:00
aliaspider 0310b67927 use strlen and not utf8len for the len parameter passed to
get_message_width. fixes #4873.
2017-05-03 03:09:01 +01:00
Twinaphex 8f25897d9e Merge pull request #4872 from Monroe88/menu_settings
Minor fix for previous pull request
2017-05-02 04:13:43 +02:00
Monroe88 2012abd6d1 (menu-setting.c) Use SD_FLAG_ADVANCED instead for Fullscreen resolution and config aspect ratio settings 2017-05-01 21:06:07 -05:00
Twinaphex edd4f46bbf Merge pull request #4871 from Monroe88/menu_settings
Add Fullscreen resolution and Config Aspect Ratio settings to the menu
2017-05-02 03:31:46 +02:00
Monroe88 b0d6919339 Add Config Aspect Ratio setting to the menu 2017-05-01 20:10:41 -05:00
Monroe88 0dee5b889d Add fullscreen resolution settings to the menu 2017-05-01 19:19:33 -05:00
twinaphex 08c7f63074 Revert "Make the framebuffer 32x32"
This reverts commit 51f7f7a22c.
2017-05-02 00:09:36 +02:00
twinaphex 51f7f7a22c Make the framebuffer 32x32 2017-05-02 00:05:34 +02:00
twinaphex b1cf9adfef (dynamic dummy core) Let's not perform this every frame 2017-05-01 23:40:34 +02:00
Twinaphex acabead15a Merge pull request #4869 from casdevel/wasapi-driver
Fix incorrect audio frame rate units
2017-04-30 23:54:08 +02:00
Zoran Vuckovic a5ecdf39fb Fix incorrect audio frame rate units 2017-04-30 23:34:51 +02:00
Twinaphex a05555cd99 Merge pull request #4868 from casdevel/wasapi-driver
Fix audio frame rate selection
2017-04-30 23:14:06 +02:00
Zoran Vuckovic 4cba63cdd0 Fix audio frame rate selection 2017-04-30 23:05:53 +02:00
Twinaphex 2009d359c9 Merge pull request #4866 from andrewlxer/master
Minor race fix and small cleanup to dispmanx_gfx
2017-04-30 11:48:41 +02:00
Andrew a1d094e64e Minor race fix and small cleanup to dispmanx_gfx
It's unlikely it was causing issues, but another race existed in the
dispmanx driver, it incremented the pending page count after sending the
update request.

If a context switch happened between sending the update and incrementing
the page count, the vsync callback would decrement it from 0 and cause
the uint to overflow.

Throw in a minor C89 fix and some whitespace fixups too.
2017-04-29 17:09:07 -07:00
Jean-André Santoni a2542590ef Fix the truncated game name in LAN rooms 2017-04-29 23:41:02 +02:00
Jean-André Santoni c335d870a5 Code cleaning 2017-04-29 22:07:16 +02:00
twinaphex 532b2ac1ba 'Open Archive' - if we have a core selected, filter roms
in an archive by supported extensions; otherwise, if no core
is selected, show all files that are supported
2017-04-29 21:19:55 +02:00
Twinaphex 34184654d9 Merge pull request #4865 from leiradel/master
Prevent the menu from getting garbage for the cheevos list
2017-04-29 21:16:19 +02:00
twinaphex 8f32801292 It should now properly show supported roms again when no
core info file is found and we have already loaded a
core
2017-04-29 20:27:40 +02:00
Andre Leiradella 7058207197 Prevent the menu from getting garbage for the cheevos list 2017-04-29 18:50:52 +01:00
twinaphex b303283ac3 (GDI) Buildfix 2017-04-29 19:35:13 +02:00
twinaphex 7df38ac5db (3DS) Buildfix 2017-04-29 19:34:20 +02:00
twinaphex 46bae549ac Fix some coverity warnings 2017-04-29 19:22:44 +02:00
twinaphex 17827940fd Get rid of some if conditionals 2017-04-29 19:21:24 +02:00
twinaphex 254fa75a0f Directly initialize sinc_size 2017-04-29 18:54:34 +02:00
twinaphex 4d419b2b56 (sdl_gfx.c) Update 2017-04-29 18:47:29 +02:00
twinaphex 60242e161a Buildfix 2017-04-29 18:45:58 +02:00
twinaphex c147604103 Update 2017-04-29 18:33:50 +02:00
twinaphex 7bdef1fde4 Buildfixes 2017-04-29 18:30:23 +02:00
twinaphex dd83b4a043 (Vita) Buildfix 2017-04-29 17:52:16 +02:00
twinaphex b5e97238ac Optimize video_driver_threaded_{lock|unlock} 2017-04-29 17:38:47 +02:00
twinaphex d86f466fe9 Turn video_driver_is_threaded into macro 2017-04-29 17:33:36 +02:00
twinaphex a5d7bedb8a Pass video_is_threaded variable to menu driver init function 2017-04-29 17:27:54 +02:00
twinaphex 6bae9244e8 Create menu_driver_init 2017-04-29 17:23:09 +02:00
twinaphex 5f6a342817 Pass param 2017-04-29 17:19:29 +02:00
twinaphex b515cd10f1 Pass video_is_threaded to context_reset 2017-04-29 17:16:05 +02:00
twinaphex 6f0df4cf60 Create menu_driver_context_reset 2017-04-29 17:13:18 +02:00
twinaphex 03145a0424 Pass video_is_threaded variable to video_driver_init 2017-04-29 17:10:59 +02:00
twinaphex 64b672125c (menu_display.c) Style nits 2017-04-29 17:05:21 +02:00
twinaphex 11a96df465 Rewrite font_driver_free 2017-04-29 17:02:35 +02:00
twinaphex e84adb504f Don't try to call video_driver_is_threaded from outside
gfx/video_driver.c - only exception right now - menu_display.c
2017-04-29 16:52:52 +02:00
twinaphex 63504cd9c8 No longer need to grab threaded variable from settings struct 2017-04-29 16:37:49 +02:00
twinaphex 91abbdd4f1 video_viewport_get_custom will never be NULL 2017-04-29 16:22:07 +02:00
twinaphex 6d4ac23f26 Cleanup 2017-04-29 16:20:26 +02:00
twinaphex c8bf28842f Get rid of some calls to video_driver_viewport_get_custom 2017-04-29 16:11:31 +02:00
twinaphex 2322e77795 Add to video_frame_info 2017-04-29 16:07:02 +02:00
Twinaphex c678d97270 Merge pull request #4864 from leiradel/master
Added a define to save the achievements JSON
2017-04-29 15:52:59 +02:00
Andre Leiradella 982c862deb Undefine the macro by default 2017-04-29 14:42:04 +01:00
Andre Leiradella 8a50b7373b Added a define to save the achievements JSON 2017-04-29 14:37:09 +01:00
twinaphex 97de027eb7 (movie.c) Cleanups 2017-04-29 14:10:00 +02:00
twinaphex ac7f1cc5e2 C89_BUILD buildfix 2017-04-29 14:06:08 +02:00
twinaphex 969403fadb Header include cleanups 2017-04-29 13:20:50 +02:00
twinaphex 79c7627651 Move video_viewport_custom to gfx/video_driver.c 2017-04-29 13:10:01 +02:00
twinaphex 6930262ec2 Update/buildfixes 2017-04-29 12:44:45 +02:00
Francisco José García García afe173c883 [VITA] Really fix build 2017-04-29 12:02:26 +02:00
Twinaphex 936b5e4b7c Merge pull request #4861 from Monroe88/menu_wasapi
Add WASAPI audio driver settings to the menu
2017-04-29 11:17:15 +02:00
Twinaphex ccd4bdbd60 Merge pull request #4862 from andrewlxer/master
Fix dispmanx triple buffering race and re-enable triple buffering
2017-04-29 11:16:51 +02:00
Francisco José García García f7c56ddda3 [VITA] Fix build 2017-04-29 09:06:49 +02:00
Andrew 301a094ef9 Avoid potential dispmanx_gfx driver lockup
The dispmanx driver had a small race wherein if the vsync completed
between checking for a free page and waiting on the condvar, it would
hang forever waiting for a condition that would never fire.

I'm hoping this is what was causing the triple buffering lockups. In
my testing with it re-enabled and this fix, things are stable (and
much more performant than with triple buffering disabled).
2017-04-28 20:24:36 -07:00
Andrew 253c8cd997 Revert "DISPMANX: Disable triple buffering for now, for stability reasons."
This reverts commit 0b75671c21.
2017-04-28 20:20:43 -07:00
Monroe88 ada900e1e1 Unhardcode WASAPI default settings 2017-04-28 21:40:24 -05:00
Monroe88 9d20af4249 Minor edits to the labels and sublabels 2017-04-28 21:09:49 -05:00
Monroe88 3e58159480 Add WASAPI audio driver settings to the menu 2017-04-28 20:36:52 -05:00
twinaphex 552845a94d Buildfixes 2017-04-29 02:39:32 +02:00
twinaphex 6d8789f4c1 (GX) Buildfix 2017-04-29 02:03:17 +02:00
twinaphex fe1151efc3 (Zarch) Buildfix 2017-04-29 02:02:28 +02:00
twinaphex 9fdcd926ad Buildfixes 2017-04-29 02:00:50 +02:00
twinaphex 8ab4f5a0b2 Gotten rid of all reallocs now inside configuration.c 2017-04-29 00:43:20 +02:00
twinaphex e6ab06a701 Move path variables 2017-04-29 00:39:29 +02:00
Twinaphex 59da394197 Merge pull request #4859 from casdevel/wasapi-driver
Fix audio sync issue with fullscreen toggling
2017-04-28 23:13:31 +02:00
twinaphex f75fbafeb2 Cleanups 2017-04-28 23:10:24 +02:00
twinaphex 957c85f9ea Cleanups 2017-04-28 23:02:22 +02:00
twinaphex f0c2d786ae Update arrays struct 2017-04-28 22:59:13 +02:00
Zoran Vuckovic f3a55f1036 Fix audio sync issue with fullscreen toggling 2017-04-28 22:58:06 +02:00
twinaphex aed6fd8082 (WASAPI) Buildfix 2017-04-28 22:17:44 +02:00
twinaphex 87106b03c1 (3DS) Buildfix 2017-04-28 22:14:34 +02:00
twinaphex 5c024f1cd8 Fix memory leak 2017-04-28 21:47:26 +02:00
Twinaphex 927ed42498 Fix filestream memory leak 2017-04-28 21:27:40 +02:00
twinaphex 67ab87669f Update 2017-04-28 21:20:00 +02:00
twinaphex 35ac275f62 (OSX) Buildfix 2017-04-28 21:18:35 +02:00
twinaphex 47cb15cb03 No more realloc for uints settings 2017-04-28 21:05:34 +02:00
twinaphex 05e4ec733e Move uint variables 2017-04-28 21:03:04 +02:00
twinaphex 9ff3221c9d Refactors 2017-04-28 20:08:12 +02:00
twinaphex fdd85654d6 Split up uint and int 2017-04-28 19:55:09 +02:00
twinaphex 7bbd20b31d Move int settings 2017-04-28 19:12:48 +02:00
twinaphex dfe753042f Cleanups 2017-04-28 19:04:17 +02:00
Francisco José García García 18eaa7e709 [VITA] Fix dirs 2017-04-28 18:54:34 +02:00
twinaphex 324227d239 (Win32) Buildfix 2017-04-28 15:59:42 +02:00
twinaphex fa9b641ef0 (Android) Buildfix 2017-04-28 15:53:38 +02:00
twinaphex d6ffd69ed0 Silence warnings 2017-04-28 15:32:15 +02:00
twinaphex 98f6000ff6 Silence warnings 2017-04-28 15:31:33 +02:00
twinaphex 4ef0809931 (GX) Another buildfix 2017-04-28 15:29:54 +02:00
twinaphex d1b6a865c4 Buildfixes 2017-04-28 15:29:20 +02:00
twinaphex 684e83ef30 Updates 2017-04-28 15:19:39 +02:00
twinaphex 6d4b44bf94 Use malloc instead of calloc 2017-04-28 15:14:51 +02:00
twinaphex 09f108b4a7 (OSX) Buildfix 2017-04-28 15:09:43 +02:00
twinaphex df31ba6255 (Win32) Buildfix 2017-04-28 15:05:12 +02:00
twinaphex 7b9c146ae9 (iOS) Buildfix 2017-04-28 15:04:00 +02:00
twinaphex 2c53553952 (Zarch) Buildfix 2017-04-28 15:02:42 +02:00
twinaphex ff3a9e87e0 Optimize populate_settings_float 2017-04-28 15:01:11 +02:00
twinaphex 0da40fb3aa Move all float settings 2017-04-28 14:57:55 +02:00
twinaphex 4e92a4ed77 Fix this 2017-04-28 14:33:18 +02:00
twinaphex 7a152700fa Update 2017-04-28 14:31:23 +02:00
twinaphex f50eabb13c (iOS) Buildfixes 2017-04-28 14:29:22 +02:00
twinaphex 3ad821c102 (Win32) Buildfix 2017-04-28 14:28:40 +02:00
twinaphex 3764c39dfc Optimize populate_settings_bool - should not keep spamming
realloc now
2017-04-28 14:11:34 +02:00
twinaphex ed53be7c81 Move all bool settings 2017-04-28 14:11:34 +02:00
Francisco José García García 6bac458885 [VITA] Fix error 2017-04-28 13:47:53 +02:00
twinaphex b792c5deae move bool setting 2017-04-28 12:26:01 +02:00
twinaphex 3e24672a43 Move bool settings 2017-04-28 12:23:59 +02:00
twinaphex 9e7ac432c3 Try to prevent null pointer dereference 2017-04-28 12:07:11 +02:00
twinaphex 9812dfb4d4 Add conditionals 2017-04-28 12:05:17 +02:00
Francisco José García García c0e81ca820 [VITA] Get rid of griffin 2017-04-28 08:29:58 +02:00
twinaphex cc095e56fc Start refactoring bool variables 2017-04-28 00:53:20 +02:00
Francisco José García García 193b0b147f [VITA] Fix no sound 2017-04-28 00:29:51 +02:00
twinaphex ba079b14dc Cleanups 2017-04-28 00:01:47 +02:00
twinaphex ae1c26cbc4 Restructure settings struct 2017-04-28 00:00:43 +02:00
twinaphex d257ec51a0 Use wrapper configuration macros 2017-04-27 23:46:32 +02:00
twinaphex 124ef06ef7 Use wrapper functions 2017-04-27 23:43:19 +02:00
twinaphex 0e1406f3f1 Go through configuration_ wrapper functions 2017-04-27 23:34:47 +02:00
twinaphex eb34553fae Cleanup 2017-04-27 21:40:31 +02:00
twinaphex b9f110679a Remove unused variable 2017-04-27 21:38:39 +02:00
twinaphex 1bf7cbccbe input_device_names no longer part of settings struct 2017-04-27 21:35:46 +02:00
Francisco José García García 79f28f2985 [VITA] Fix compiling 2017-04-27 08:49:21 +02:00
Francisco José García García 514412afe0 [VITA] Compress things a little 2017-04-27 08:10:35 +02:00
twinaphex a54af2f2c1 Prevent implicit memset 2017-04-27 01:27:02 +02:00
twinaphex 5ea70ffb2e Get rid of some implicit memsets 2017-04-27 01:23:04 +02:00
twinaphex ace37d2c7a Cleanups 2017-04-27 01:10:44 +02:00
twinaphex 65f33f4403 See if this works for PSP as well 2017-04-27 00:58:56 +02:00
twinaphex 43ff75fd72 (psp_audio.c) Cut down on ifdefs 2017-04-27 00:46:48 +02:00
twinaphex 87d5fe2092 Cut down on ifdefs 2017-04-27 00:44:35 +02:00
Francisco José García García be87a8cdc7 [VITA] Fixing PSTV controls 2017-04-26 22:26:41 +02:00
twinaphex 0c6ba894fd task_autodetect.c - cleanups 2017-04-26 18:48:28 +02:00
Zoran Vuckovic c5e56b1b25 Add workaround for "Pause when menu activated" option
Audio driver start function never gets called when this option is set to
off, so we start in init function for now. This solves one problem but
introduces new one, WASAPI engine starts running even there is no real
need for that.
2017-04-26 18:38:40 +02:00
Zoran Vuckovic 4a715e79e3 Code cleanup 2017-04-26 18:38:27 +02:00
Zoran Vuckovic 409a6136b8 Remove one redundant comment 2017-04-26 18:38:23 +02:00
Zoran Vuckovic f412095047 Add shared-mode buffer length option 2017-04-26 18:37:44 +02:00
Zoran Vuckovic a53645cc55 Fix device enumeration log message 2017-04-26 18:37:30 +02:00
twinaphex 549ed6fc6b (Android) Buildfix 2017-04-26 15:43:16 +02:00
twinaphex 848d8a95ab Remove -marm for Vita 2017-04-26 15:42:23 +02:00
twinaphex 301ee64e80 Add HAVE_XINERAMA ifdefs 2017-04-26 15:29:21 +02:00
Twinaphex 8a4590462f Merge pull request #4849 from bsstephan/dont-build-disabled-xinerama
only build xinerama_common.o if it is enabled
2017-04-26 11:59:12 +02:00
Twinaphex e2dc60a0c0 Merge pull request #4850 from Monroe88/menu
(menu_setting.c) Make Audio Output Rate editable
2017-04-26 11:58:21 +02:00
Monroe88 1df9807954 (menu_setting.c) Make Audio Output Rate editable 2017-04-25 23:17:53 -05:00
Brian S. Stephan efe90a9f34 only build xinerama_common.o if it is enabled 2017-04-25 22:26:46 -05:00
Twinaphex c51e4397b0 remove unused variable 2017-04-26 03:00:21 +02:00
twinaphex 3dc26db377 Simplify libretro_input_binds 2017-04-26 02:43:39 +02:00
twinaphex 58fcf421b5 Simplify input_poll 2017-04-26 02:35:41 +02:00
twinaphex e179108080 Cleanups 2017-04-26 00:24:59 +02:00
twinaphex a146dfee79 Use input_config_binds directly 2017-04-25 23:47:23 +02:00
twinaphex 33dda78ea8 Cleanups 2017-04-25 23:32:38 +02:00
twinaphex fc5d240297 Get rid of some now-unused functions 2017-04-25 23:30:50 +02:00
twinaphex f0eaef9d51 Cleanups 2017-04-25 22:14:56 +02:00
twinaphex 3c57c991de Buildfix 2017-04-25 21:58:53 +02:00
twinaphex 3087ceb482 Don't go through all these slow wrapper functions 2017-04-25 20:47:21 +02:00
Twinaphex 840034d4a0 remove unused variables 2017-04-25 18:54:41 +02:00
twinaphex 5f9f43929a Turn settings->input.binds into static struct inside input_config.c 2017-04-25 18:54:01 +02:00
twinaphex 53c9acacd6 Wrap access to settings->input.binds completely 2017-04-25 18:50:49 +02:00
twinaphex c68c8a8cfe Rewrite this 2017-04-25 18:48:06 +02:00
twinaphex 87f05b3a7b Cleanups 2017-04-25 18:32:08 +02:00
twinaphex 8d0e3d7777 Wrap settings->input.binds 2017-04-25 18:27:18 +02:00
twinaphex 4845c4b4db Cleanup 2017-04-25 18:20:10 +02:00
twinaphex 3b3b008614 Move code to input_config_reset 2017-04-25 18:18:37 +02:00
twinaphex d66aff8fbd Start wrapping settings->input.binds 2017-04-25 18:12:13 +02:00
Twinaphex 129da8a802 Get rid of unused local variables 2017-04-25 17:19:31 +02:00
twinaphex e1e83b17b7 Wrap settings->input.libretro_device 2017-04-25 17:14:46 +02:00
twinaphex f4e5f896a2 Move input.device_name_index to task_autodetect and move it
outside of settings struct
2017-04-25 16:57:44 +02:00
twinaphex c871faa1f5 Move pid/vid arrays out of settings struct and move them
to input_config
2017-04-25 16:49:54 +02:00
twinaphex 690b729474 config_save_autoconf_profile - cleanup 2017-04-25 16:38:47 +02:00
twinaphex acf3b22fd3 Go through wrapper functions 2017-04-25 16:36:31 +02:00
twinaphex 6ace8ce66a Rewrite autoconf_binds and move it to task_autodetect.c - take
it out of the settings struct
2017-04-25 16:33:30 +02:00
twinaphex 359af5d5ab Go through wrapper function 2017-04-25 16:07:17 +02:00
twinaphex 20ed6eb90a Start using input_config_get_device_name 2017-04-25 16:04:28 +02:00
twinaphex f4b168f9b6 Call functions from task_autodetect.c 2017-04-25 15:53:30 +02:00
twinaphex 7b5b49a5e6 Move autoconfigured variables out of settings struct;
these values are not written back to the config file
2017-04-25 15:49:27 +02:00
twinaphex e36564b2b0 (Zarch) Not sure why this was done 2017-04-25 15:34:18 +02:00
twinaphex 15a8f0c485 Wrap some more settings manipulation 2017-04-25 15:31:32 +02:00
twinaphex 83684df3e9 Use configuration_set_ wrappers 2017-04-25 15:13:50 +02:00
twinaphex 632039f985 Cleanups 2017-04-25 13:28:42 +02:00
twinaphex b6d34e9581 Cleanups 2017-04-25 13:27:40 +02:00
twinaphex ffcb9d4a16 (gl_raster_font.c) Cleanups 2017-04-25 13:25:37 +02:00
twinaphex 03358b2ecd (gl_raster_font) Cleanup 2017-04-25 13:22:55 +02:00
twinaphex 047b10a3de (vulkan_raster_font.c) Small refactors 2017-04-25 13:19:32 +02:00
twinaphex 3917c658f3 Refactor vulkan_raster_font_render_line 2017-04-25 13:16:00 +02:00
twinaphex b495d85845 (setting_list.c) Initialize these values 2017-04-24 22:55:14 +02:00
twinaphex ee484b693c (vulkan_raster_font.c) Cleanups 2017-04-24 17:39:23 +02:00
twinaphex 765e636214 (Vulkan) Cleanups 2017-04-24 17:21:29 +02:00
twinaphex 2a13af52fc Revert "video_init function - video_info_t should not be const -"
This reverts commit c8bcbad4a7.
2017-04-24 12:25:14 +02:00
twinaphex e5b38315fe Revert "Add real_width and real_height to video_info struct - let"
This reverts commit 831ea1a507.
2017-04-24 12:25:07 +02:00
twinaphex 023599366c Revert "Cleanups"
This reverts commit 0021970c16.
2017-04-24 12:25:00 +02:00
twinaphex 8a215ce30e Revert "Cut down on another video_driver_set_size call"
This reverts commit b951c84e01.
2017-04-24 12:24:55 +02:00
twinaphex b951c84e01 Cut down on another video_driver_set_size call 2017-04-24 12:23:09 +02:00
twinaphex 0021970c16 Cleanups 2017-04-24 12:19:47 +02:00
twinaphex 831ea1a507 Add real_width and real_height to video_info struct - let
the drivers set this depending on the video width/height they
get back from the video context driver
2017-04-24 12:18:28 +02:00
twinaphex c8bcbad4a7 video_init function - video_info_t should not be const -
try to set video_driver_width/video_driver_height outside
of video driver init function
2017-04-24 12:03:21 +02:00
twinaphex 5a3b78bad3 Get rid of more performance counters 2017-04-24 11:24:16 +02:00
twinaphex 8f15467215 Getr id of perf counters 2017-04-24 11:21:32 +02:00
twinaphex d06c963a19 Get rid of PERF_ENABLE blocks 2017-04-24 11:20:30 +02:00
twinaphex e411e7c284 Add separate PI macro 2017-04-24 10:31:25 +02:00
twinaphex 365c7f9c8b (Video drivers) Cleanups 2017-04-24 10:08:32 +02:00
twinaphex 8efa2b146e Add this to d3d_alive 2017-04-24 09:44:15 +02:00
Twinaphex f6ca860bc9 Merge pull request #4841 from fr500/master
add a few paths even if they are not set by JNI
2017-04-24 08:09:43 +02:00
radius 95f172e3c7 add a few paths even if they are not set by JNI 2017-04-24 01:02:42 -05:00
twinaphex 34852e159a Cut down on amount of times video_driver_build_info is called 2017-04-23 22:20:11 +02:00
twinaphex 08bbc8199f (audio_driver.c) Cleanup 2017-04-23 22:04:03 +02:00
twinaphex 0e3bc69f8c Simplify video shader driver function 2017-04-23 21:53:03 +02:00
twinaphex 087002d9c5 Get rid of unused video_driver_get_frame_count - locking/unlocking
around this variable should no longer be necessary
2017-04-23 21:39:49 +02:00
twinaphex c38f86e14a Create menu_driver_{decrement|increment}_navigation 2017-04-23 21:17:01 +02:00
twinaphex e0483f73bc Create menu_driver_list_clear 2017-04-23 21:13:33 +02:00
twinaphex 467070f6a6 Silence Coverity warning 2017-04-23 21:07:49 +02:00
twinaphex edadba1ec7 Silence valgrind memcheck warning 2017-04-23 20:26:31 +02:00
twinaphex 13e4148996 (Menu) Cleanups 2017-04-23 20:22:41 +02:00
twinaphex 77dde2a85c Simplifications 2017-04-23 20:16:14 +02:00
Twinaphex f84da4b466 Remove unused variable 2017-04-23 19:55:21 +02:00
Andrés e5938bca1f Update CHANGES.md 2017-04-23 12:46:30 -05:00
twinaphex 2dfe441381 Get rid of video_info->frame_count 2017-04-23 19:21:12 +02:00
twinaphex bf7616cf0e Revert "Move structs to gfx/video_thread_wrapper.h"
This reverts commit 12d0073d50.
2017-04-23 19:17:52 +02:00
twinaphex d4a3726347 Update CHANGES.md 2017-04-23 19:08:58 +02:00
twinaphex 25c8baeefe menu drivers will have their own frame count; this fixes the
tickering issues with threaded video mode
2017-04-23 18:42:12 +02:00
twinaphex 12d0073d50 Move structs to gfx/video_thread_wrapper.h 2017-04-23 18:28:44 +02:00
twinaphex cb3943da0e Cleanup 2017-04-23 17:53:26 +02:00
twinaphex df60fa7a19 Bugfix 2017-04-23 17:51:06 +02:00
twinaphex eb208b170f Fix codepath for HAVE_MENU not being defined 2017-04-23 17:48:45 +02:00
twinaphex 32f4bc4b93 Cleanups 2017-04-23 17:46:14 +02:00
twinaphex 7c6b93f58f More cleanups 2017-04-23 17:44:24 +02:00
twinaphex c9646c1fd2 Use configuration macro wrappers 2017-04-23 17:36:25 +02:00
twinaphex 3ec5816259 Rewrite RUNLOOP_CTL_SYSTEM_INFO_GET 2017-04-23 16:41:26 +02:00
twinaphex 627089e2f6 Get rid of libretro_get_current_core_pathname 2017-04-23 16:13:58 +02:00
twinaphex 299b72e208 Revert "Cleanups"
This reverts commit a4963d2a19.
2017-04-23 15:10:34 +02:00
twinaphex a4963d2a19 Cleanups 2017-04-23 15:10:10 +02:00
twinaphex fc33b7abcc Log where core options file gets saved 2017-04-23 14:41:46 +02:00
twinaphex 6667560263 (iOS) Buildfix 2017-04-23 14:37:06 +02:00
Twinaphex d76c09fd08 Get rid of unused variables 2017-04-23 14:33:02 +02:00
twinaphex 7ea0528c6b Turn MENU_NAVIGATION_CTL_{SET|GET}_SELECTION into separate
functions
2017-04-23 14:31:49 +02:00
twinaphex 8e6b7a2751 Rewrite menu_entries function 2017-04-23 13:46:21 +02:00
twinaphex 217e71d568 (menu_setting.c) Cleanups 2017-04-23 13:41:02 +02:00
twinaphex 268a173f44 (menu_shader.c) Start using configuration_set_bool 2017-04-23 13:39:35 +02:00
twinaphex 59faeb510b Start putting settings->modified in most mutable situations 2017-04-23 13:37:00 +02:00
twinaphex ccc8d1aec2 Start using configuration_set_bool 2017-04-23 13:32:16 +02:00
twinaphex 1febb963ae Start bookkeeping when we are modifying settings 2017-04-23 13:24:17 +02:00
twinaphex e192d4eaa6 (Playlist) Prevent us writing the playlist file another time
after we have already saved it once
2017-04-23 12:54:13 +02:00
twinaphex 7e3cce9397 Only write to playlists if they are modified 2017-04-23 12:25:54 +02:00
twinaphex aea00f1e00 Use memcmp instead of string_is_equal for more instances 2017-04-23 12:17:51 +02:00
twinaphex 1c93cc4b18 Update logs 2017-04-23 12:00:49 +02:00
twinaphex 953045f0d2 Update logs 2017-04-23 11:56:46 +02:00
twinaphex 0f2a6f3dd2 Don't use performance counters in GL/Vulkan/video thread wrapper
unless PERF_ENABLE is defined
2017-04-23 11:31:11 +02:00
twinaphex caafee006c Get rid of performance counter for softfilter 2017-04-23 11:26:10 +02:00
twinaphex d61edc51ad (audio_driver.c) Get rid of performance counters 2017-04-23 11:05:42 +02:00
twinaphex a88284897b (D3D) Use C-style allocation for d3d->menu 2017-04-23 09:38:44 +02:00
Twinaphex 7afc83518d Merge pull request #4836 from Monroe88/audio_device_fix
(menu_setting.c) Reinit audio driver when audio device is changed
2017-04-23 07:51:39 +02:00
Monroe88 b260254fd4 (menu_setting.c) Reinit audio driver when audio device is changed 2017-04-22 20:06:15 -05:00
twinaphex 8defa3b924 Update libretro-ffmpeg 2017-04-22 20:56:59 +02:00
twinaphex 6078864e26 Turn ffmpeg FFT into C code and remove GLM dependency 2017-04-22 12:59:28 +02:00
twinaphex 21f7f6059a (ffmpeg FFT) No longer needs GLM 2017-04-22 12:25:54 +02:00
twinaphex d674d2102e (ffmpeg FFT) Move variable initialization to top 2017-04-22 12:11:42 +02:00
twinaphex 25f31883d5 (libretro ffmpeg FFT) Start using libretro-common gfx/matrix
functions instead of GLM; GLM only used now still for
packHalf2x16
2017-04-22 12:08:10 +02:00
twinaphex a65675d24f (FFT) Swap around matrices arguments for matrix_4x4_multiply 2017-04-22 11:15:41 +02:00
Zoran Vuckovic 9ef51d8215 Change default buffering behavior in shared mode 2017-04-22 11:09:08 +02:00
twinaphex c97fd9afcf Correct matrix_4x4_lookat 2017-04-22 10:23:04 +02:00
twinaphex 45dc1b7977 Some build fixes 2017-04-22 10:09:52 +02:00
twinaphex 40d55b7ae3 Reimplement file_path_str 2017-04-22 09:54:22 +02:00
twinaphex f12ea0e1e3 Fix C89_BUILD 2017-04-22 09:37:36 +02:00
twinaphex aa2c29ac8b (exynos_gfx.c) Use memcmp 2017-04-22 09:34:30 +02:00
Zoran Vuckovic 62d9e087c4 Fix issues with some cores in shared mode 2017-04-22 09:25:12 +02:00
Zoran Vuckovic 4197cfe174 Add device init fallback 2017-04-22 09:25:01 +02:00
Zoran Vuckovic 5526a2ba93 Fix sync off in shared mode 2017-04-22 09:24:52 +02:00
Zoran Vuckovic 86fdca5e68 Fix incorrect log messages 2017-04-22 09:24:32 +02:00
twinaphex 6ebd4e139e Rewrite more string_is_equal call invocations as memcmp 2017-04-22 08:51:16 +02:00
twinaphex d77da6b53d Fix bug in shader_glsl.c 2017-04-21 23:10:55 +02:00
twinaphex 284e6b2994 Replace more instances of string_is_equal 2017-04-21 22:51:04 +02:00
twinaphex f9bc2d3783 Use memcmp instead of string_is_equal where possible for
better performance
2017-04-21 22:47:15 +02:00
twinaphex e9e1db2945 Cleanups 2017-04-21 21:18:28 +02:00
twinaphex bcce88e516 (D3D) Cleanup d3dx9anim.h header 2017-04-21 21:00:22 +02:00
twinaphex 6951111459 (libretro-common) Cleanups 2017-04-21 20:53:07 +02:00
twinaphex 0c66441d08 (archive_file) Cleanups 2017-04-21 20:46:41 +02:00
twinaphex 5b1ecbff87 Remove rsemaphore 2017-04-21 20:41:26 +02:00
twinaphex dd1da5154f Better implementation of string_is_equal_noncase and fix bug
in string_list
2017-04-21 14:53:01 +02:00
twinaphex 271edb4ca1 We don't want uppercase for these instances 2017-04-21 14:26:35 +02:00
twinaphex 607ae71259 Turn string_is_equal_noncase into self-contained function 2017-04-21 14:17:47 +02:00
twinaphex 76788d3890 Turn string_is_equal into selfcontained function 2017-04-21 14:09:02 +02:00
twinaphex dd517f4660 Try to avoid directly calling strcmp 2017-04-21 13:56:15 +02:00
twinaphex 82c62b1693 Use stdstring in more instances 2017-04-21 13:50:24 +02:00
twinaphex 06f98fcd16 (stdstring) Turn some functions into static inline functions 2017-04-21 13:35:26 +02:00
twinaphex 120cf21505 Rewrite alsa_write pt. 2 2017-04-21 13:27:46 +02:00
twinaphex 74431917a2 Rewrite alsa_write 2017-04-21 12:21:38 +02:00
twinaphex 40411e5a6f Turn gfx/math functions into macros 2017-04-20 22:14:03 +02:00
twinaphex 04223b464a Check for return value of config_get_bool 2017-04-20 21:52:29 +02:00
twinaphex 0215badb4c (FIFO queue) Turn some functions into static inline functions 2017-04-20 20:28:57 +02:00
twinaphex 75e02c4646 Simplify alsa_write 2017-04-20 18:27:46 +02:00
twinaphex d8ba05170f (ALSA) Use macro for frames to bytes 2017-04-20 13:31:02 +02:00
twinaphex 9faae7eb3f (ALSA) Use macro for determing frames from bytes instead of snd_pcm_bytes_to_frames 2017-04-20 11:20:34 +02:00
twinaphex d1664481c2 Don't call input_remote_state unless pointer is non-NULL 2017-04-20 10:57:09 +02:00
twinaphex 69a3bf6a31 Create bsv_movie_is_playback_{on|off} 2017-04-20 10:40:11 +02:00
twinaphex 9daa63437a Simplify math/vector files 2017-04-20 10:30:30 +02:00
twinaphex fa347475e8 Simplify matrix_3x3.c 2017-04-20 10:25:54 +02:00
twinaphex 3fb630c571 Get rid of is_perfcnt_enable for audio_driver_write function 2017-04-20 10:15:11 +02:00
twinaphex 154b98394b Don't stop/start the audio driver when muting/unmuting 2017-04-20 10:02:54 +02:00
twinaphex 637b26772c Directly initialize some variables 2017-04-20 09:46:03 +02:00
twinaphex 1cc350bfdb Prevent some implicit memsets 2017-04-20 09:21:08 +02:00
twinaphex 96a9730a08 Cleanups 2017-04-20 09:15:56 +02:00
twinaphex d1ff5dd973 Header include cleanups 2017-04-20 09:14:20 +02:00
twinaphex 4df1ba690d (D3D) Header cleanups 2017-04-19 19:11:58 +02:00
twinaphex d220ce5870 Update D3D9 2017-04-19 18:58:01 +02:00
Twinaphex 8eed4c38cf Merge pull request #4833 from kbrenneman/platform-enums
Define the platform enums if they aren't in eglext.h.
2017-04-19 16:13:07 +02:00
twinaphex 87c5b03bed Get rid of another pragma warning 2017-04-19 16:11:35 +02:00
twinaphex d4ecc6398d (d3d9_cg_renderchain.cpp) Fix header includes 2017-04-19 16:11:00 +02:00
twinaphex 0b3e90dbf4 Header cleanups D3D9 2017-04-19 16:10:11 +02:00
twinaphex 0a074ec4a5 audio_driver_alive() should return true inside audio_driver_start 2017-04-19 15:55:35 +02:00
Kyle Brenneman a4d19e174a Define the platform enums if they aren't in eglext.h.
Add #defines for EGL_PLATFORM_X11_KHR, EGL_PLATFORM_WAYLAND_KHR, and
EGL_PLATFORM_GBM_KHR, if they aren't already defiend in eglext.h.
2017-04-19 07:08:05 -06:00
twinaphex 27a6d68af9 Get rid of this pragma 2017-04-19 12:56:25 +02:00
twinaphex d5d04babdd Cleanups 2017-04-19 12:55:41 +02:00
twinaphex 9ca27adb59 Simplify D3D9 headers 2017-04-19 12:46:07 +02:00
twinaphex 1f29de24de Update Makefile.common 2017-04-19 12:43:26 +02:00
twinaphex ca6eee21d9 Add header include for null_renderchain.c 2017-04-19 12:37:54 +02:00
twinaphex 0a33e6e8e4 Fix relative path header includes 2017-04-19 02:17:34 +02:00
twinaphex b15cca82c7 Fix some relative path header includes 2017-04-19 02:15:47 +02:00
twinaphex 841adf04a5 Add header include 2017-04-19 02:14:51 +02:00
twinaphex 5bfc513af4 Buildfixes 2017-04-19 02:03:01 +02:00
twinaphex 00a59629aa Silence some more warnings 2017-04-19 01:57:00 +02:00
twinaphex 7790fc3647 MOve renderchain files to dir 2017-04-19 01:51:05 +02:00
twinaphex 32c91baca6 Move read_viewport and viewport_info to render_chain_gl_legacy.c 2017-04-19 01:25:34 +02:00
Twinaphex faafa2def0 Merge pull request #4831 from GregorR/netplay-rewind
Make rewind compatible with netplay.
2017-04-18 22:22:25 +02:00
Gregor Richards fbb508ab5e Make rewind compatible with netplay.
This commit adds support for temporary desync in netplay. When frontend
features that can't be truly synced, in particular rewind, are used,
netplay is momentarily disabled. As soon as the feature finished, e.g. a
rewind ending, netplay resumes with a state load. For rewind, netplay
peers won't actually experience the effect of rewind, but they will load
the rewound state.
2017-04-18 15:25:58 -04:00
twinaphex 7104d329fd Update logs 2017-04-18 06:02:43 +02:00
twinaphex d722ac6c04 Cleanup 2017-04-18 05:57:38 +02:00
twinaphex d5821c7f61 Update logs 2017-04-18 05:42:49 +02:00
twinaphex f4071ba6ec Set axis_threshold 2017-04-18 05:11:44 +02:00
twinaphex 0a8f7b9ff2 Simplify CMD_EVENT_AUDIO_STOP/CMD_EVENT_AUDIO_START 2017-04-18 04:11:34 +02:00
twinaphex e21df42ec1 Turn function static 2017-04-18 03:59:15 +02:00
twinaphex 8aa7ae168e Remove unused function 2017-04-18 03:54:53 +02:00
twinaphex 55dd4ac754 Simplifications 2017-04-18 03:52:01 +02:00
twinaphex 662755c899 Start simplifying audio driver start/stop 2017-04-18 03:49:35 +02:00
Twinaphex 4159dc43ed Merge pull request #4828 from kbrenneman/fix-eglGetDisplay-ifdef
Add #ifdefs for trying to use eglGetPlatformDisplay.
2017-04-17 10:19:30 +02:00
Kyle Brenneman 7baa75bee0 Add #ifdefs for trying to use eglGetPlatformDisplay.
Add #ifdefs for EGL_VERSION_1_5 and EGL_EXT_platform_base around the calls to
eglGetPlatformDisplay and eglGetPlatformDisplayEXT, respectively.

This avoids compiler errors when the EGL header files don't have the necessary
declarations for EGL 1.5 or EGL_EXT_platform_base.

Follow-up fix for https://github.com/libretro/RetroArch/issues/4790
2017-04-16 17:11:27 -06:00
twinaphex d433d592e1 Do this workaround for now - for Android/Emscripten 2017-04-17 00:26:20 +02:00
Twinaphex 692caf19ce Merge pull request #4827 from fr500/master
android autoconf improvements
2017-04-17 00:23:39 +02:00
twinaphex 96d984b04d (egl_common.c) Cleanups/style nits 2017-04-17 00:04:08 +02:00
radius a759cd9a19 allow swapping ok/cancel via autoconf parameter 2017-04-16 16:59:05 -05:00
radius d236b2db58 try to override swap ok/cancel for remote controls 2017-04-16 16:51:54 -05:00
radius d70d04c473 improve shield portable hack 2017-04-16 16:48:37 -05:00
Twinaphex 996bb990a0 Merge pull request #4826 from kbrenneman/fix-eglGetDisplay
Use eglGetPlatformDisplay when it's available.
2017-04-16 22:52:21 +02:00
Kyle Brenneman fcccc9dc0b Use eglGetPlatformDisplay when it's available.
Added a platform parameter to egl_init_context. If the caller provides a
platform other than EGL_NONE, then it will try to use eglGetPlatformDisplay or
eglGetPlatformDisplayEXT instead of eglGetDisplay.

If neither eglGetPlatformDisplay or eglGetPlatformDisplayEXT is supported, then
it will still fall back to calling eglGetDisplay.

Updated the Wayland, X11, and DRM callers to use the correct platform enum.
Those are the callers that don't just pass EGL_DEFAULT_DISPLAY as the native
display handle.

Calling eglGetDisplay with any value other than EGL_DEFAULT_DISPLAY is
inherently unreliable, because it requires the EGL implementation to guess a
platform type based on a (void *) pointer. Some implementations might not
identify a particular platform, or worse, might guess wrong.

Fixes https://github.com/libretro/RetroArch/issues/4790
2017-04-16 14:19:40 -06:00
twinaphex 5b9a17dc8f (gfx/scaler) Cleanups 2017-04-16 19:54:38 +02:00
twinaphex f21bb4d0dc Simplify scaler_filter 2017-04-16 12:57:21 +02:00
twinaphex 0c5a87b1d7 Create scaler_ctx_scale_direct 2017-04-16 11:03:29 +02:00
twinaphex 9c7dd3068f Get rid of unnecessary wrappers around calloc/free 2017-04-16 10:39:42 +02:00
twinaphex f14dbe081b Simplify scaler.c 2017-04-16 10:36:16 +02:00
twinaphex 8fd0033b43 Simplify scaler code 2017-04-16 10:29:22 +02:00
twinaphex 602ba5d8a6 scaler_filter - cleanups 2017-04-16 09:58:42 +02:00
twinaphex 9ee32a4dd6 Style nit 2017-04-16 09:50:53 +02:00
twinaphex 23bedbb3fb Turn libretro_get_environment_info into static function 2017-04-16 09:42:17 +02:00
twinaphex c1e85bb504 Add to CHANGES.md 2017-04-16 08:45:29 +02:00
twinaphex b43d0b4201 Simplify matrix_3x3 2017-04-16 08:36:04 +02:00
twinaphex 9b3519f850 Turn matrix_4x4_lookat into macro, remove matrix_4x4.c 2017-04-16 07:57:31 +02:00
twinaphex 257410d058 Turn matrix_4x4_multiply into macro 2017-04-16 07:55:02 +02:00
twinaphex b7aefa71f8 Cleanups to matrix_3x3.c 2017-04-16 07:30:23 +02:00
twinaphex 8ac346be63 (libretro-common) Cleanups 2017-04-16 05:06:15 +02:00
twinaphex a86e6975cc Update 2017-04-16 04:57:45 +02:00
twinaphex 8f7fc79cd7 Don't include retro_inline.h 2017-04-16 04:50:34 +02:00
twinaphex e06006b436 Turn more matrix_4x4 functions into macros 2017-04-16 04:44:35 +02:00
twinaphex d30686a78f Add math.h header include to matrix_4x4.h 2017-04-16 04:03:55 +02:00
twinaphex 32cebbbcba Turn more matrix_4x4 functions into macros 2017-04-16 04:00:20 +02:00
twinaphex fbd6d0ebc6 Turn more matrix 4x4 functions into macros 2017-04-16 03:53:07 +02:00
twinaphex 809bce6cd9 Start turning most matrix 4x4 functions into macros 2017-04-16 03:45:07 +02:00
twinaphex 793930b352 Simplify matrix_4x4_identity 2017-04-16 03:34:33 +02:00
twinaphex bd63327c3d Cleanup matrix_3x3_identity 2017-04-15 22:30:02 +02:00
twinaphex a9492f6a44 Cleanups 2017-04-15 22:27:23 +02:00
twinaphex b591d63e8b Silence unused variable warning 2017-04-15 20:20:47 +02:00
twinaphex 4b419ce125 (iOS) Fix 'release is unavailable; not available in automatic reference
counting mode'
2017-04-15 20:20:08 +02:00
Zoran Vuckovic 66f1c42fcc Add sync off support, improve format negotiation 2017-04-15 20:09:14 +02:00
Zoran Vuckovic 05a3f43057 Add sync off support, improve format negotiation 2017-04-15 20:09:08 +02:00
twinaphex 7f4b490fdb Prevent implicit memsets with struct video_viewport 2017-04-15 19:43:52 +02:00
twinaphex e3fce81097 Use BRIDGE macro 2017-04-15 19:28:10 +02:00
twinaphex 1d97a81224 Optimize get_backing_scale_factor - store result of backing scale
factor query and use it for later function call invocations
2017-04-15 19:27:33 +02:00
Twinaphex 2324399fa8 Buildfix 2017-04-15 19:21:10 +02:00
twinaphex e97682d4ca Simplify cocoa_gl_ctx.m 2017-04-15 19:20:42 +02:00
Twinaphex a5998cb589 (MUI) Remove some unused variables 2017-04-15 19:14:02 +02:00
Twinaphex 80017f7d71 (OSX) Try to free allocation at the end of get_selector 2017-04-15 19:13:21 +02:00
Twinaphex fe33f30c15 Merge pull request #4824 from fr500/master
Couple of small fixes
2017-04-15 18:11:32 +02:00
radius 0b2afde90b Partial match is never used and interferes with the fallback mechanism 2017-04-15 10:47:51 -05:00
radius 89829d22b4 [lobby] disable these logs, too verbose for production 2017-04-15 10:47:51 -05:00
twinaphex 592fe4d967 Too long filenames were causing crashes/segfaults 2017-04-15 02:38:22 +02:00
twinaphex f9b75e7d76 CXX_BUILD buildfix 2017-04-14 03:40:58 +02:00
Zoran Vuckovic 90cfb50658 Added settings and non-standard frame rate handling 2017-04-14 03:35:40 +02:00
aliaspider c04573233c add missing extern "C" guard. 2017-04-11 18:54:26 +01:00
aliaspider f73c3af445 (msvc) use the correct config for x64 builds. 2017-04-11 17:58:35 +01:00
aliaspider b1d750bc1d enable x64 builds in RetroArch-msvc2010.sln 2017-04-11 16:31:18 +01:00
twinaphex a58395b718 Add to CHANGES.md 2017-04-11 00:55:47 +02:00
twinaphex d63e79a8ce (Griffin) Update 2017-04-11 00:54:21 +02:00
twinaphex 0341bdcf77 (WASAPI) Get rid of this header include 2017-04-11 00:51:34 +02:00
twinaphex 05496a8b57 (WASAPI) Nits 2017-04-11 00:35:21 +02:00
Zoran Vuckovic 2a594d313c fixed latency and buffer duration calculations 2017-04-11 00:24:43 +02:00
Zoran Vuckovic 129151d5fc add wasapi audio driver 2017-04-11 00:24:37 +02:00
twinaphex c6887aa999 Update compat/zlib.h 2017-04-10 23:17:30 +02:00
twinaphex 29b9c2e14d Update deps/libz/uncompr.c 2017-04-10 22:08:20 +02:00
twinaphex 2712b60de0 (rjpeg) Cleanup 2017-04-10 06:11:53 +02:00
twinaphex a84540515c Cleanup 2017-04-10 06:03:49 +02:00
Twinaphex 286b4e8f09 Merge pull request #4813 from Monroe88/autosave2
Allow setting SRAM Autosave in 1 second intervals
2017-04-08 23:29:15 +02:00
Monroe88 f36b70e8b5 Allow setting SRAM Autosave in 1 second intervals 2017-04-08 15:41:45 -05:00
twinaphex 9e5d6c4155 Update Makefile.common/griffin 2017-04-07 20:56:30 +02:00
Twinaphex 652c59b25e Merge pull request #4809 from BlueKore/master
Forked the generic portuguese locale file into two versions: the portuguese and brazilian one.
2017-04-07 20:53:57 +02:00
BlueKore 292ed35005 Fixed a bug in the french translations file. 2017-04-07 19:47:29 +01:00
BlueKore d1bfea400c Fixed some portuguese expressions. 2017-04-07 19:41:11 +01:00
Twinaphex a74c2748ec Merge pull request #4807 from joolswills/mali_compat
hardcode struct for compatibility between various mali EGL headers
2017-04-07 20:25:11 +02:00
BlueKore f6ebe7c6a9 Changed the language enums. Fixed the language references in the msg files. 2017-04-07 19:15:44 +01:00
BlueKore c1e13a9fcf Deleted the old locale files. 2017-04-07 19:04:34 +01:00
BlueKore b5e379dd80 Replaced the language files. Initial commit. 2017-04-07 19:04:16 +01:00
Jools Wills b587018c56 hardcode struct for compatibility between various mali EGL headers
Old kronos headers used mali_native_window, ARM's headers used fbdev_window, and
latest mali-fbdev package on the odroid with newer khronos headers, the struct seems missing
2017-04-07 18:55:33 +01:00
Francisco José García García 67055289d0 Merge pull request #4803 from libretro/frangarcj-io-patch
Small fix
2017-04-06 14:20:20 +02:00
Francisco José García García 8983af2016 Small fix 2017-04-06 11:47:19 +02:00
twinaphex 295cae5a7b Take this out 2017-04-05 20:56:03 +02:00
Twinaphex 893fcdd39e Merge pull request #4801 from libretro/frangarcj-io-patch
[VITA] Fix slow IO
2017-04-05 19:38:00 +02:00
Francisco José García García 8568667481 Add threading.c 2017-04-05 19:35:45 +02:00
Francisco José García García 5940d227bb Fix slow io 2017-04-05 19:32:07 +02:00
Twinaphex 50281f5755 Merge pull request #4795 from Tatsuya79/master
Make mouse relative again.
2017-04-01 18:54:07 +02:00
Twinaphex fdae8f4c6d Merge pull request #4794 from fr500/master
Lobby improvements
2017-04-01 17:53:54 +02:00
radius 40ac2126c9 [lobby] fallback to filename based matching when a match isn't found by CRC, should help users with manually created playlists 2017-04-01 00:19:15 -05:00
radius 74d3915302 fix comments 2017-03-31 23:20:35 -05:00
Tatsuya79 5649f084e3 Make mouse relative again. 2017-03-31 17:28:49 +02:00
twinaphex 3da08c9d9e Cleanup egl_create_context 2017-03-30 02:39:08 +02:00
twinaphex 38f9b93885 Refine egl_init_context - DRM EGL contexts still fails
at eglGetDisplay
2017-03-30 02:31:51 +02:00
Brad Parker dd80ffc61b FreeBSD buildfix 2017-03-29 16:47:58 +00:00
Twinaphex 989815e9f2 Merge pull request #4783 from Monroe88/audio_latency
Allow audio latency setting to be fine tuned with 1ms intervals
2017-03-27 06:46:48 +02:00
Monroe88 0610721aa0 Allow audio latency setting to be fine tuned with 1ms intervals 2017-03-26 21:28:19 -05:00
twinaphex 3996dc4b79 Update libretro-common 2017-03-26 05:07:48 +02:00
twinaphex ab2d94bb64 Update libretro-common 2017-03-26 04:54:50 +02:00
twinaphex 4a9639f02f Silence warning 2017-03-26 03:31:41 +02:00
twinaphex ef733f0049 Update compat/zlib.h 2017-03-26 00:24:33 +01:00
twinaphex 91dabc3165 Cleanups 2017-03-25 23:07:50 +01:00
twinaphex 95e934825a Update deps/libz 2017-03-25 21:58:56 +01:00
twinaphex aace0ae9bd Set default libretro logging level to 1 2017-03-25 10:36:24 +01:00
twinaphex 4921cb719b Update CHANGES.md 2017-03-25 10:26:52 +01:00
twinaphex 55a0b7d1a9 Create default_ortho static variable 2017-03-25 10:22:57 +01:00
twinaphex 7d79e367f9 (GL) Prevent implicit memset; some other general cleanups 2017-03-25 10:18:24 +01:00
twinaphex d77c209c85 Cleanups 2017-03-25 10:13:18 +01:00
twinaphex 53efaf1816 Move files 2017-03-25 10:06:13 +01:00
twinaphex 69abe6dbb9 Move deps/zlib to deps/libz 2017-03-25 10:05:33 +01:00
twinaphex 92221216bf Update deps/zlib 2017-03-25 01:33:06 +01:00
twinaphex ed0aefaf6c Update deps/zlib/crc32.c 2017-03-25 01:31:04 +01:00
twinaphex 7123d1fbd2 Update crc32 2017-03-25 01:28:25 +01:00
twinaphex 6d49ccf978 (zlib) Update adler32 2017-03-25 01:26:21 +01:00
twinaphex 0369fd6578 Try to silence potential resource leak pointed out by Coverity 2017-03-24 01:51:29 +01:00
twinaphex e5370c114b Update logs 2017-03-24 01:46:28 +01:00
twinaphex b97c8a183d Update log 2017-03-24 01:38:23 +01:00
twinaphex 24311af259 Update logs for V4L2 2017-03-24 01:36:30 +01:00
twinaphex a72cdb77ad Update logs 2017-03-24 01:33:22 +01:00
twinaphex 396857db9a Update logs 2017-03-24 01:28:58 +01:00
twinaphex 755ceda4f9 More consistent log messages 2017-03-24 00:30:14 +01:00
twinaphex 1b27c3dec1 Make some log messages more consistent 2017-03-24 00:28:21 +01:00
twinaphex 0fc2a87bfd CXX_BUILD fix 2017-03-24 00:18:20 +01:00
twinaphex 7579d68272 Cleanups 2017-03-24 00:15:17 +01:00
twinaphex 62aa0c4415 Split up dbus functions into separate file 2017-03-24 00:12:21 +01:00
twinaphex 22672af217 Update logs 2017-03-23 23:59:08 +01:00
twinaphex 17235d70e2 Create set_coords_fallback for shader driver 2017-03-23 21:49:29 +01:00
twinaphex 571f899c3d Don't include these headers 2017-03-23 20:09:24 +01:00
twinaphex 805470072b Make desktop_mode a static variable inside x11_common.c 2017-03-23 20:07:56 +01:00
twinaphex 1ce3b12335 Split up xinerama functions into separate files 2017-03-23 19:59:11 +01:00
twinaphex 09e7186a4e Start splitting up xinerama functions 2017-03-23 19:46:06 +01:00
twinaphex 4c0ce28e6e (x11_common.c) Cleanups 2017-03-23 19:36:39 +01:00
twinaphex a56afd8b8f Only set video.shader_enable to false if video_driver_set_shader
fails
2017-03-23 19:17:09 +01:00
twinaphex 541c1b34e1 Don't do early return inside menu_shader_manager_init; free the
previously allocated menu shader first
2017-03-23 19:15:14 +01:00
Twinaphex 76a53e75ad Merge pull request #4773 from fr500/master
Always extract zips except for content
2017-03-22 06:14:30 +01:00
radius 482261e81b remove pointless check 2017-03-21 23:59:18 -05:00
radius 32a132e0ab only use this flag for actual content, the rest of the downloads should always be extracted 2017-03-21 23:53:57 -05:00
twinaphex 8c89ec158c Update copyrights 2017-03-22 03:09:18 +01:00
twinaphex 1274092fdd Move audio_mixer code to libretro-common 2017-03-22 03:00:21 +01:00
twinaphex 8906ebc272 Get rid of header include 2017-03-22 02:54:11 +01:00
Brad Parker 84558215fd android: permission result is only valid if our request code matches 2017-03-20 15:58:25 +00:00
meepingsnesroms f79630e778 Merge pull request #4770 from bparker06/permissions
android: add runtime permission checking for Android 6.0+
2017-03-20 07:58:51 -07:00
Brad Parker 61cbb25b12 add callback for permission request result, style nits 2017-03-20 14:46:43 +00:00
Brad Parker b1e94e8215 android: add runtime permission checking for Android 6.0+ 2017-03-20 05:25:05 +00:00
Brad Parker 151feee826 add null pointer check, fixes startup crash with null video driver 2017-03-19 19:25:19 -04:00
twinaphex c9c0621076 Try to fix some Coverity bugs 2017-03-19 02:27:07 +01:00
Twinaphex b8830815ab Merge pull request #4763 from hizzlekizzle/master
finish French translation, courtesy of forum user Tromzy
2017-03-18 20:29:12 +01:00
Twinaphex 3d992be092 Merge pull request #4766 from rootfather/intl-de
Intl: Update German GUI translation
2017-03-18 20:29:06 +01:00
Lothar Serra Mari 422c6a4935 Intl: Update German GUI translation 2017-03-18 16:28:41 +01:00
hunterk 3a0692711f finish French translation 2017-03-17 10:59:40 -05:00
Brad Parker 3e1be4d549 update JP translation 2017-03-17 11:05:51 -04:00
Brad Parker 32a5c1a58b missing null pointer check, just close dialog if no hostname was specified, fixes issue #4703 2017-03-13 21:05:00 -04:00
twinaphex 137f8df057 Bump up version code 2017-03-13 20:28:20 +01:00
Jean-André Santoni 0b05fdf0b5 (Input) Fix shift release in xkb 2017-03-13 00:52:42 +01:00
Jean-André Santoni f4103b4074 (GLUI) Attempt to fix the browser+touch bug 2017-03-12 16:03:18 +01:00
Brad Parker c549f7e8d7 android: set XMB as default for Android TV devices 2017-03-10 22:17:05 -05:00
twinaphex 51581e1578 Include string.h instead 2017-03-09 01:50:27 +01:00
Jean-André Santoni 1148c6156e Fix wrong wraparound code 2017-03-08 21:32:43 +01:00
Twinaphex 256433a00b Bump up to 1.5.0 2017-03-07 18:37:57 +01:00
twinaphex 2559aec92d Bump version 2017-03-07 18:35:06 +01:00
twinaphex 9e2ae4aca4 Use 1.5.0 2017-03-07 18:33:35 +01:00
Brad Parker c12cc8e5be netplay: change lobby reannounce period to 600 frames 2017-03-07 12:29:51 -05:00
twinaphex 03d58e9e62 Update 2017-03-07 15:00:20 +01:00
twinaphex 17739435de Cleanups 2017-03-07 12:59:58 +01:00
twinaphex 4118d0bbd2 Cleanups 2017-03-07 12:49:52 +01:00
twinaphex f4ac760178 Cleanups 2017-03-07 12:37:11 +01:00
twinaphex cb1c8df547 Simplify gl_glsl_set_coords 2017-03-07 12:35:29 +01:00
Jean-André Santoni 7db6e58273 Don't run OSK code if the OSK is not displayed 2017-03-07 11:57:30 +01:00
Brad Parker bb362f307d netplay: don't advertise over LAN or try to open a port with UPnP if we're using a MITM server 2017-03-06 21:39:03 -05:00
bparker06 ced1dc10c1 Merge pull request #4732 from GregorR/netplay-server-spectator-fix-2-electric-boogaloo
Yet another server-is-spectator bug. Don't ever ignore stalls if we're a client
2017-03-06 21:25:18 -05:00
Brad Parker 4f02450bf9 forgot extra storage for NULL byte 2017-03-06 21:10:27 -05:00
Gregor Richards 2f21a3e370 Yet another server-is-spectator bug. Don't ever ignore stalls if we're a
client
2017-03-06 20:13:26 -05:00
Jean-André Santoni ff575a3460 PCE-CD magic number detection 2017-03-07 01:16:58 +01:00
Brad Parker d9c78c75f0 fix setting of netplay has_password in lobby announcement 2017-03-06 16:01:45 -05:00
Twinaphex 4b796ae740 Silence warnings 2017-03-06 12:12:00 +01:00
Jean-André Santoni c7722143b9 Update CHANGES.md 2017-03-06 09:50:24 +01:00
Brad Parker 6a68a01eb9 msvc2005 buildfix 2017-03-05 22:02:55 -05:00
Brad Parker 310c486f6a update changelog 2017-03-05 20:48:14 -05:00
Jean-André Santoni e7be847784 Avoid pushing netplay rooms on wrong tabs 2017-03-05 22:42:33 +01:00
Jean-André Santoni 4318000f8f (XMB) Change icon sets on the fly 2017-03-05 22:31:30 +01:00
twinaphex cf82bdbebd Get rid of more implicit memsets 2017-03-05 22:24:35 +01:00
twinaphex 85e5a01576 Get rid of some implicit memsets 2017-03-05 22:21:55 +01:00
Twinaphex 7d9edc0874 Update iOS solutions 2017-03-05 22:07:19 +01:00
Brad Parker 12a208f75e merge reannounce bugfix from radius 2017-03-05 15:49:07 -05:00
Twinaphex ec14874363 Update to version 1.4.2 2017-03-05 20:52:24 +01:00
twinaphex c5717ecd84 Start bumping up to version 1.4.2 2017-03-05 20:51:15 +01:00
Twinaphex c343a88c10 Silence unused variable warnings 2017-03-05 20:30:14 +01:00
Brad Parker 9a7d38de77 MSVC buildfix: add UTF8 BOM to korean translation 2017-03-05 14:28:33 -05:00
Brad Parker 1a251de6be update changelog 2017-03-05 14:22:50 -05:00
Brad Parker c6b1a4bb48 join MITM server when host starts game, if the announcement requested MITM 2017-03-05 14:19:39 -05:00
Brad Parker 2df1ed9157 fix inconsistent dll linkage warning in msvc 2017-03-05 14:19:39 -05:00
Brad Parker bd6ca986d8 msvc buildfix 2017-03-05 14:19:38 -05:00
Brad Parker bf553fe65c netplay: connect to MITM server instead of host IP if one is specified in lobby listing 2017-03-05 14:19:38 -05:00
Brad Parker 8a01dda5d6 send force MITM setting with lobby announcement 2017-03-05 14:19:38 -05:00
Brad Parker f2c4eb5047 add sublabel for MITM 2017-03-05 14:19:38 -05:00
Brad Parker 1f42889936 add settings -> network entry to force using a MITM server for netplay 2017-03-05 14:19:37 -05:00
Brad Parker 1fc7a50f3e fix non-ascii URL encoding 2017-03-05 14:19:37 -05:00
Brad Parker 7aca744635 URL encode non-ascii characters 2017-03-05 14:19:37 -05:00
Brad Parker c7c0e1351a send CRC as hex string 2017-03-05 14:19:37 -05:00
Brad Parker 4f2cdf3a84 populate system info before reading it 2017-03-05 14:19:36 -05:00
Brad Parker 79899e6b71 silence linux warning 2017-03-05 14:19:36 -05:00
Brad Parker ad6733b519 add full urlencoder and encode lobby announcement POST data 2017-03-05 14:19:36 -05:00
Brad Parker 9c19f16539 remove debug stuff 2017-03-05 14:19:36 -05:00
Brad Parker 0d81b2005f parse new lobby room listing with JSON 2017-03-05 14:19:35 -05:00
Brad Parker 21fe0c8499 bake in johnanthonyowens/jsonsax as jsonsax_full 2017-03-05 14:19:35 -05:00
Brad Parker fb3393eb3a add user agent to http requests 2017-03-05 14:19:35 -05:00
Brad Parker 101475c2f6 fix POST handling 2017-03-05 14:19:34 -05:00
Brad Parker c31823aa94 add HTTP POST support 2017-03-05 14:19:34 -05:00
twinaphex c99d83f15c Update 2017-03-05 20:14:01 +01:00
twinaphex 71b0666ec5 Silence another Coverity warning 2017-03-05 20:06:36 +01:00
twinaphex 0123d33780 Silence CXX_BUILD warnings 2017-03-05 19:28:34 +01:00
twinaphex 3a5eb48c4a C89_BUILD fixes 2017-03-05 19:25:11 +01:00
twinaphex df1313bc37 Change signature for word_wrap 2017-03-05 19:15:04 +01:00
twinaphex bb15b14388 word_wrap - Dont' call strlen once every loop iteration 2017-03-05 19:09:31 +01:00
twinaphex c70b8c42c5 Cleanups to word_wrap 2017-03-05 19:02:32 +01:00
twinaphex 63973a52e0 Simplify word_wrap 2017-03-05 19:01:44 +01:00
Twinaphex a5c57fe882 Prevent unused variable warning 2017-03-05 18:57:15 +01:00
twinaphex 79bde3f9b1 remove unused value 2017-03-05 18:52:36 +01:00
twinaphex 0b7ef78122 Simplify core_info_database_supports_content_path 2017-03-05 18:47:02 +01:00
twinaphex 279b2e1123 Update CHANGES.md 2017-03-05 18:04:29 +01:00
twinaphex e122c91519 Update CHANGES.md 2017-03-05 18:03:51 +01:00
Jean-André Santoni e758406d52 Undo save/load state shouldn't be an advanced setting 2017-03-05 17:54:37 +01:00
Jean-André Santoni e587264b3d (OSK) Ascii symbol page 2017-03-05 11:54:08 +01:00
Jean-André Santoni 69694a2fab Merge pull request #4727 from losernator/master
Add Korean translation
2017-03-05 11:30:31 +01:00
Jean-André Santoni c808fa54c7 Merge pull request #4729 from libretro/touch-improvements
Touch improvements
2017-03-05 11:23:59 +01:00
Jean-André Santoni 130e3a77d8 (GLUI) Fix the menu entry being selected while we try to scroll 2017-03-05 09:49:22 +01:00
Jean-André Santoni 199d7b63a1 (Menu) Attempt to fix scroll speed issue 2017-03-05 00:15:21 +01:00
Jean-André Santoni bb0d4dae07 (Menu) iOS touch fixes 2017-03-04 22:16:55 +01:00
losernator d019855439 Update msg_hash_ko.c 2017-03-05 02:10:53 +09:00
losernator b8020c0c21 add support for Korean 2017-03-05 01:43:13 +09:00
losernator baa666022f add support for Korean 2017-03-05 01:42:14 +09:00
losernator aed6fa83bd add support for Korean 2017-03-05 01:39:14 +09:00
losernator 5f2e6c4320 add support for Korean 2017-03-05 01:36:08 +09:00
losernator b5a01bc42e add support for Korean language 2017-03-05 01:32:16 +09:00
losernator 36c2d457fc add support for Korean language 2017-03-05 01:31:18 +09:00
Jean-André Santoni 013bf29fff (Menu) A long press will reset a setting to its default value 2017-03-04 15:35:05 +01:00
Jean-André Santoni 002928c399 (Menu) Separate callbacks for pointer_up and pointer_down 2017-03-04 15:11:29 +01:00
Andrés ec395048b6 Update CHANGES.md 2017-03-01 23:07:14 -05:00
twinaphex 85b099b8cf Update 2017-03-01 22:09:38 +01:00
Twinaphex a2def14969 Merge pull request #4715 from gingerbeardman/master
Additional icons and banners for 3DS
2017-03-01 13:12:19 +01:00
twinaphex 4109ffdb6b Update of libretro-common 2017-03-01 05:03:23 +01:00
Brad Parker 96650e14ea break early if server frame count is ahead of NOINPUT 2017-02-28 21:46:57 -05:00
Jean-André Santoni dbd359ad6a Merge pull request #4712 from leiradel/master
Fix resampler->process overriding memory because we don't know exactl…
2017-02-28 19:49:45 +01:00
Jean-André Santoni 18e1a817b3 Merge pull request #4713 from fr500/master
mantain LAN rooms in the list after moving left/right
2017-02-28 19:48:57 +01:00
Matt Sephton 34e3490ce9 Updated assets.7z 2017-02-28 16:32:52 +00:00
Matt Sephton 693652b2a9 Created icons and banners for cores that have recently been compiled for 3DS
See:
https://gbatemp.net/threads/unofficial-3ds-retroarch-builds-compatibilit
y-thread.462252/page-2#post-7138543

Art files available as .afdesign or .svg or similar
2017-02-28 16:32:43 +00:00
Brad Parker fea8a0f780 Don't stall for spectator data when we're not in spectator mode, thanks @GregorR 2017-02-28 11:31:59 -05:00
Andrés f39de90837 Merge pull request #4671 from dankcushions/patch-3
One option moved to advanced settings.
2017-02-28 11:14:53 -05:00
radius eba92bd3ca mantain LAN rooms in the list after moving left/right 2017-02-28 11:10:17 -05:00
Andre Leiradella 2481d25f0f Fix resampler->process overriding memory because we don't know exactly how much memory it needss 2017-02-28 14:48:20 +00:00
twinaphex 57e0e30600 Update core_info.c 2017-02-28 11:16:05 +01:00
twinaphex 6396f0391a Cleanups 2017-02-28 10:56:02 +01:00
twinaphex 3cecdcdd7d Cleanups 2017-02-28 10:55:39 +01:00
twinaphex 824a619b90 Initialize db manually 2017-02-28 10:53:20 +01:00
twinaphex ef1323bbfd Prevent explicit NULL dereference 2017-02-28 10:47:24 +01:00
twinaphex 56eb09406b Add TODO/FIXME 2017-02-28 10:28:49 +01:00
twinaphex c17dbe6ddb Using calloc seems to get us past the crashes 2017-02-28 10:27:34 +01:00
twinaphex 2fa9d47b61 Cleanups 2017-02-28 10:22:06 +01:00
twinaphex aff63e6c3f Cleanups 2017-02-28 10:16:36 +01:00
twinaphex 8195c601d5 Cleanups 2017-02-28 10:14:00 +01:00
twinaphex 05b760d0f8 Fix C89_BUILD/CXX_BUILD 2017-02-28 09:52:33 +01:00
twinaphex 5bf5388759 Cleanups 2017-02-28 09:44:44 +01:00
Twinaphex 59f5c596d6 Merge pull request #4707 from fr500/master
LAN scanning into rooms
2017-02-28 05:47:49 +01:00
radius 0c456c2235 comment this out for now 2017-02-27 23:47:04 -05:00
twinaphex 2be88a44ed (XMB) Fix 2017-02-28 04:50:07 +01:00
bparker06 b30b9599a2 Merge pull request #4708 from GregorR/netplay-empty-info
Support empty INFO packet for undifferentiated servers.
2017-02-27 22:24:02 -05:00
Gregor Richards 8fb1f6a647 Support empty INFO packet for undifferentiated servers. 2017-02-27 22:06:20 -05:00
radius 35d78bb010 better label 2017-02-27 22:04:59 -05:00
radius ba4804ed7c differentiate lan and internet rooms 2017-02-27 21:58:39 -05:00
radius 650655abbe doesn't seem to crash anymore 2017-02-27 21:44:11 -05:00
radius e50ea80dfa integrate the rest of the lan scan parameters 2017-02-27 21:24:34 -05:00
Twinaphex 92bbeab6f6 Merge pull request #4704 from gingerbeardman/icons
Corrected height of fceumm icon to 48px
2017-02-28 02:44:57 +01:00
radius 5ca55aa533 publish IP address correctly 2017-02-27 20:22:56 -05:00
Twinaphex c9add8c68e Merge pull request #4706 from fr500/master
Adds lan games to the ROOM list
2017-02-28 01:04:59 +01:00
radius b719f30b8e add lan games 2017-02-27 19:00:43 -05:00
radius 2bdd938338 after the first scan it will no longer scan because of this line 2017-02-27 18:10:35 -05:00
Jean-André Santoni fc3547b8e4 Don't allow input on the user language setting 2017-02-28 00:03:19 +01:00
Jean-André Santoni 64a11ca0f4 (XMB) Allow hidding the netplay tab 2017-02-27 23:32:24 +01:00
Jean-André Santoni 834087d1ad (XMB) Use a tab styled icon for the netplay tab 2017-02-27 22:48:27 +01:00
Jean-André Santoni 46c153a0fe (XMB) Move netplay to the left of Add Tab 2017-02-27 22:36:45 +01:00
Matt Sephton a26e229445 Corrected height of fceumm icon to 48px
It had previously been stretched from 41px
2017-02-27 20:39:21 +00:00
Jean-André Santoni 15001a87d3 (XMB) Use a texture slice for dialogs 2017-02-27 20:34:17 +01:00
twinaphex 58c08c0c02 Cleanups 2017-02-27 09:33:20 +01:00
twinaphex 10bf8d4a8a Backport enlarge char buffers 2017-02-27 09:28:38 +01:00
Twinaphex 308aa4678f Update bundle identifiers 2017-02-27 03:52:11 +01:00
Jean-André Santoni 4b84449f59 Fix iOS9 static project 2017-02-27 03:50:08 +01:00
Twinaphex a6420ae966 Update ios10 target 2017-02-27 02:00:57 +01:00
Twinaphex 951ca852f5 Add ios .a targets 2017-02-27 02:00:57 +01:00
Jean-André Santoni c0ac7095fa Update pkg/apple/RetroArch_iOS9-Info.plist 2017-02-27 01:50:54 +01:00
Twinaphex ae92a0ceff Add to Info.plist 2017-02-27 01:42:29 +01:00
Twinaphex ddae075733 Silence more warnings 2017-02-27 01:28:01 +01:00
Twinaphex 9ebd8736e0 Update iOS 10 static 2017-02-27 01:05:10 +01:00
twinaphex 7974fb5c6e Add HAVE_APPLE_STORE to iOS 10 2017-02-26 23:00:03 +01:00
twinaphex 803dd83e67 Put IOS ifdef around this 2017-02-26 22:24:07 +01:00
Twinaphex 43c32aad3d Silence more warnings 2017-02-26 22:16:03 +01:00
Twinaphex fdbdcfee65 Merge pull request #4691 from GregorR/netplay-slave-mode
Netplay slave mode
2017-02-26 21:49:21 +01:00
Twinaphex 216e7bcdaf Silence more warnings on iOS 2017-02-26 21:46:19 +01:00
twinaphex 89715b7195 Fix CXX_BUILD 2017-02-26 10:39:15 +01:00
Twinaphex b7b3b2cb5f Try to prevent truckload of warnings on iOS 2017-02-26 10:33:03 +01:00
twinaphex 8f01bcfb8d Update of command.c 2017-02-26 09:35:35 +01:00
twinaphex af971ea9be Try setting path when defaults menu_config is set 2017-02-26 09:35:00 +01:00
twinaphex c2036e4aed (iOS) App Store versions cannot reference non-public selectors 2017-02-26 07:05:14 +01:00
twinaphex 19bf048b68 Add log message 2017-02-26 06:44:35 +01:00
twinaphex c653e6d886 Buildfix 2017-02-26 06:14:33 +01:00
twinaphex e523280cb0 Add fallback message that informs us when config saving is not working 2017-02-26 06:07:58 +01:00
twinaphex 24b9237669 Prevent null pointer dereferences 2017-02-26 04:38:24 +01:00
twinaphex e48bd0b2b5 Update config.def.h 2017-02-26 04:00:15 +01:00
Twinaphex aa2e7dc794 Silence warning 2017-02-26 03:53:05 +01:00
Twinaphex a55df42978 Update static project 2017-02-26 03:52:28 +01:00
twinaphex 1e96a600d7 Update iOS10 static solution 2017-02-25 23:23:43 +01:00
twinaphex 2b1fbca318 Add to the define 2017-02-25 02:49:18 +01:00
twinaphex 671771d3cd Update RetroArch iOS 10 solution 2017-02-25 02:47:32 +01:00
twinaphex ca2716eef7 Add DONT_WANT_ARM_OPTIMIZATIONS 2017-02-25 02:27:47 +01:00
Twinaphex 2dfb9b9638 Revert "Attempt to not use this codepath for arm64"
This reverts commit a16ba84502.
2017-02-25 02:15:26 +01:00
Twinaphex 9062f62375 Merge pull request #4695 from zeromus/master
fix win32 console logging to be better than ever and no longer slay msys windows (fixes #4673)
2017-02-25 02:10:33 +01:00
zeromus e89706d251 fix win32 console logging to be better than ever and no longer slay msys windows (fixes #4673) 2017-02-24 18:42:19 -06:00
twinaphex a16ba84502 Attempt to not use this codepath for arm64 2017-02-25 00:28:23 +01:00
Twinaphex ed51eaf449 Update iOS 10 target for both arm64 and armv7s 2017-02-25 00:21:27 +01:00
Twinaphex 3c0afd730b Update xcode proj 2017-02-25 00:13:40 +01:00
Twinaphex 5eab3e3d96 Merge pull request #4692 from daviderickson/master
Detect non-standard joystick buttons
2017-02-24 19:31:44 +01:00
David Erickson da8662bb4a Detect non-standard joystick buttons
The Xbox One S controller when connected via Bluetooth
is exposing its select button with the Linux KEY_BACK
code, which is outside of the normal input code
scan range for joysticks.  This patch adds additional
scanning to pick up such extra buttons, and adds
them as buttons after the normal ranges to preserve
compatibility with existing key mappings.
2017-02-24 01:09:15 -08:00
twinaphex 3ae52e2095 Prevent potential crashes when pressing left/right on playlists 2017-02-24 06:58:22 +01:00
twinaphex 26474ee99e Update 2017-02-24 06:52:45 +01:00
twinaphex af02707298 Update core_manager.c 2017-02-24 06:41:18 +01:00
twinaphex cc75e002cd Add managers/core_manager.c 2017-02-24 06:29:13 +01:00
twinaphex d6ecfd42b5 Take out logging 2017-02-24 06:26:50 +01:00
twinaphex 59b86027e9 Simplify menu_displaylist_parse_cores 2017-02-24 06:26:20 +01:00
twinaphex fd5836d4e7 Prevent crash 2017-02-24 04:53:54 +01:00
Gregor Richards 07cfd90dc6 Actually USE the new slave options in config. 2017-02-23 21:49:22 -05:00
Gregor Richards a3e3b3e790 Adding settings to allow/require connections in slave mode. 2017-02-23 21:33:44 -05:00
twinaphex db02a0c52a Move this back 2017-02-24 02:21:18 +01:00
twinaphex b36683ba09 Enable companion UI start on boot if HAVE_DYNAMIC = false 2017-02-24 02:19:15 +01:00
Jean-André Santoni e6bdc9363c Buildfix for RetroArch_iOS10_static 2017-02-24 01:42:37 +01:00
Twinaphex 7a510000bb Need to change bundle identifier for RetroArchiOS 10 2017-02-24 01:11:02 +01:00
Gregor Richards 3ff9a43b7d Spectator and slave mode are rewind-free
This commit makes spectator mode and slave mode in netplay always stay
ahead of the input, thereby avoiding rewinds, which is sort of the
point. This also changes catch-up detection to be a bit less eager, so
that they hopefully don't flap between stalling for server input and
catching up with that input.
2017-02-23 19:05:43 -05:00
Twinaphex d462e91659 Merge pull request #4690 from libretro/msr_temp
Avoid 'unused scalar variable' warning
2017-02-23 21:50:28 +01:00
twinaphex b5b87d7735 Avoid 'unused scalar variable' warning 2017-02-23 21:49:51 +01:00
Twinaphex 6146daf5e8 Merge pull request #4689 from libretro/coverity_scan
Coverity scan
2017-02-23 21:35:33 +01:00
twinaphex b8e68030d0 (menu_cbs_ok.c) Cleanups 2017-02-23 21:35:06 +01:00
twinaphex dcd4d6b422 Cleanups 2017-02-23 21:32:38 +01:00
Twinaphex d969229f6a Merge pull request #4688 from libretro/msr_temp
Make sure to save the config file after bundle_decompressed
2017-02-23 15:18:08 +01:00
twinaphex 1f9059f2b5 Make sure to save the config file after bundle_decompressed 2017-02-23 15:16:51 +01:00
twinaphex f9ca3c9d87 stb_vorbis.h - get rid of this 2017-02-23 14:29:47 +01:00
twinaphex 8cbb4e13ee Prevent crashes 2017-02-23 14:27:43 +01:00
twinaphex 2074d25441 Make STB_VORBIS optional 2017-02-23 05:56:31 +01:00
twinaphex aaef2bb820 Add audio_mixer.h header file 2017-02-23 05:32:03 +01:00
twinaphex 8de102e607 Make stb_vorbis C89-compatible 2017-02-23 05:23:34 +01:00
Gregor Richards e495671563 In spectator mode, we should never be ahead of our peer. 2017-02-22 23:19:22 -05:00
Gregor Richards 3e0bc5acdc Don't flush so eagerly... 2017-02-22 23:19:02 -05:00
twinaphex 22223fa6c4 Fix CXX_BUILD for audio_mixer 2017-02-23 04:41:43 +01:00
Twinaphex 1dcf57c046 Buildfixes for stb_vorbis.h 2017-02-23 04:28:36 +01:00
twinaphex cec74a9460 Add audio_mixer.c for console/Apple builds 2017-02-23 04:26:27 +01:00
twinaphex c5b7a69801 Cleanups 2017-02-23 04:03:53 +01:00
twinaphex 4e0c24acbe Some cleanups for audio mixer 2017-02-23 04:00:40 +01:00
Twinaphex c8dfdaa5ff Merge pull request #4687 from leiradel/feature/mixer
Feature/mixer
2017-02-23 03:39:19 +01:00
Gregor Richards d1ab288d73 Fix update_unread_ptr to handle the case of only slaves connected 2017-02-22 21:10:02 -05:00
Gregor Richards e70ee045bf Initial implementation of Netplay master/slave mode. 2017-02-22 20:34:17 -05:00
Andre Leiradella 342d399a2a Don't dispose the sound on behalf of the user 2017-02-23 00:15:07 +00:00
Andre Leiradella 13ef64769d Properly dispose the sound 2017-02-23 00:10:16 +00:00
Andre Leiradella 1499a7ec64 Added the audio mixer to the Makefile 2017-02-23 00:00:16 +00:00
Andre Leiradella 7e029a5981 Added an audio mixer 2017-02-22 23:54:28 +00:00
Jean-André Santoni 8a6e102a82 Increase UPNP compatibility 2017-02-22 23:02:17 +01:00
twinaphex bd9e2e5fc7 Revert "Cleanups - menu_cbs_left.c"
This reverts commit 378a69aba9.
2017-02-22 18:45:07 +01:00
twinaphex dba6c537f2 Revert "Cleanups"
This reverts commit e9f1b25e55.
2017-02-22 18:44:59 +01:00
twinaphex e9f1b25e55 Cleanups 2017-02-22 07:23:40 +01:00
twinaphex 378a69aba9 Cleanups - menu_cbs_left.c 2017-02-22 07:21:51 +01:00
twinaphex 80fff292d8 action_right_mainmenu - cleanups 2017-02-22 07:14:41 +01:00
twinaphex c72311a708 Cleanups for left/right callbacks 2017-02-22 06:01:02 +01:00
Brad Parker d61d55e3ea update nuklear 2017-02-21 23:53:29 -05:00
twinaphex ea56249661 (net_natt.c) Free net_addrinfo before going out of scope 2017-02-22 05:24:28 +01:00
bparker06 8eb32fa824 Merge pull request #4684 from GregorR/natt-uninitialized
Fixed a bug failing to check initialization in non-UPnP-supporting setups
2017-02-21 22:09:11 -05:00
BuildTools ac9aa4783a Fixed a bug failing to check initialization in non-UPnP-supporting
setups
2017-02-21 22:02:20 -05:00
twinaphex 4403734d97 (audio_mix.c) Cleanups 2017-02-22 02:04:28 +01:00
twinaphex 5e6a79c4ac Try to fix Coverity warnings 2017-02-22 01:57:16 +01:00
Twinaphex 636ab5c12c Enable 'Requires Fullscreen' 2017-02-22 00:26:13 +01:00
Twinaphex 44f08a4739 (iOS) Use libretro_ios.a 2017-02-22 00:20:45 +01:00
twinaphex f7f333477c Add iOS 10 static solution 2017-02-22 00:01:13 +01:00
Twinaphex 188141a628 Merge pull request #4683 from GregorR/ranetplayer-info-packet
Make ranetplayer save the INFO packet as a sort of format header
2017-02-21 23:55:26 +01:00
Twinaphex d2a5f53f8d Merge pull request #4682 from GregorR/natt-else-clause
Fix missing memory free when IPv6 is unsupported
2017-02-21 23:55:16 +01:00
Gregor Richards 4746bbc972 Make ranetplayer save the INFO packet as a sort of format header 2017-02-21 17:46:29 -05:00
Gregor Richards 22500914e1 Fix missing memory free when IPv6 is unsupported 2017-02-21 17:42:09 -05:00
Brad Parker 4e1b4d051d win32: copy selected file path from browser into core/content buffer 2017-02-21 15:29:16 -05:00
twinaphex 238e234106 Prevent another Coverity warning 2017-02-21 21:20:33 +01:00
twinaphex 457b54149d Prevent another Coverity warning 2017-02-21 21:17:17 +01:00
twinaphex dc4464471e Use string_is_empty 2017-02-21 21:14:58 +01:00
twinaphex 60f0b42b1c Get rid of another FORWARD_NULL 2017-02-21 21:14:33 +01:00
twinaphex 5eec1c1f39 Get rid of forward NULL 2017-02-21 21:13:46 +01:00
twinaphex f7bbafa93d Get rid of double break 2017-02-21 21:08:01 +01:00
Twinaphex d06273e38a Merge pull request #4680 from libretro/msr_temp
patch_content - cleanup
2017-02-21 20:38:52 +01:00
twinaphex ef5b26350d patch_content - cleanup 2017-02-21 20:38:02 +01:00
twinaphex 7c83071b01 Prevent 'explicit NULL dereferenced' 2017-02-21 20:30:52 +01:00
twinaphex 8b4893965f task_image.c - FIx another REVERSE_INULL coverity warning 2017-02-21 20:29:29 +01:00
twinaphex 4645e7709b Fix another REVERSE_INULL coverity warning 2017-02-21 20:28:49 +01:00
twinaphex 2ed15fbfbc (task_image.c) Fix REVERSE_INULL coverity warning 2017-02-21 20:28:10 +01:00
twinaphex 9540e91e4c (msg_hash_de.c) Fix missing break 2017-02-21 20:26:38 +01:00
twinaphex 31bf313a4f (libretro-common) Fix resource leak 2017-02-21 20:25:25 +01:00
twinaphex 21ddee6690 Don't define M_PI if we are using MSVC and USE_MATH_DEFINES is
already defined
2017-02-21 20:14:19 +01:00
twinaphex c6e150ae2a Fix CXX_BUILD 2017-02-21 20:07:13 +01:00
twinaphex f8576ca88c Fix C89_BUILD again 2017-02-21 19:56:43 +01:00
Jean-André Santoni 1cccfa09fb (Menu) Fix core option ON/OFF buttons 2017-02-21 19:54:55 +01:00
twinaphex 63eafbcac2 Silence another signed/unsigned warning 2017-02-21 19:36:43 +01:00
twinaphex e3ddb75a2a signed/unsigned warning fix 2017-02-21 19:35:22 +01:00
twinaphex 1068e67032 Add pragma disable warning for MSVC 2010 2017-02-21 19:34:04 +01:00
twinaphex 40536fde63 Get rid of retroarch_fail() inside of load_dynamic 2017-02-21 19:20:50 +01:00
twinaphex 227b862cba Cleanups to task_load_content 2017-02-21 19:09:43 +01:00
twinaphex 85053cb210 Make it unneeded to have to grab settings pointer from
firmware_update_status
2017-02-21 19:06:08 +01:00
twinaphex c215fef8dd Updates 2017-02-21 18:58:03 +01:00
twinaphex f553f3f6bd Cut down on HAVE_MENU ifdefs 2017-02-21 18:55:11 +01:00
twinaphex d789013789 Cut down on some duplicate code 2017-02-21 18:51:47 +01:00
twinaphex 0789fff6df Rename load content tasks 2017-02-21 18:36:47 +01:00
Jean-André Santoni 460e28f7e5 (Lakka) Add a way to hide most settings with SD_FLAG_LAKKA_ADVANCED 2017-02-21 18:26:39 +01:00
twinaphex 873a07030f (Win32) Buildfix 2017-02-21 17:33:51 +01:00
Jean-André Santoni d0c640af7f (Lakka) Simplified quick menu with HAVE_LAKKA 2017-02-21 17:31:56 +01:00
Twinaphex 2d239779a5 (OSX) Buildfix 2017-02-21 17:30:18 +01:00
twinaphex d3e8e66b9f Create task_push_load_content_with_current_core_from_companion_ui 2017-02-21 17:29:30 +01:00
twinaphex 03948eafd3 Create task_push_start_builtin_core 2017-02-21 17:22:04 +01:00
twinaphex 9087bc82a0 Add TODO/FIXME note 2017-02-21 17:02:37 +01:00
twinaphex 8206a751f0 Create task_push_load_content_from_cli 2017-02-21 16:59:48 +01:00
twinaphex 1ec7b79ad6 Rename another task 2017-02-21 16:53:02 +01:00
twinaphex d0e49a2d8f Rename some tasks 2017-02-21 16:50:39 +01:00
twinaphex d7fda3016e Update 2017-02-21 16:33:22 +01:00
twinaphex d74f1a56f3 Create load_content_with_new_core_from_companion_ui 2017-02-21 16:30:47 +01:00
twinaphex 4bbf2ab535 Cleanups 2017-02-21 16:11:54 +01:00
Jean-André Santoni b648f459c4 (Lakka) Move Menu Settings out of UI Settings if HAVE_LAKKA. Avoid deep settings. 2017-02-21 15:30:45 +01:00
Jean-André Santoni 8d188ff013 (Lakka) Fix display of Download Content with HAVE_LAKKA 2017-02-21 15:11:25 +01:00
Jean-André Santoni af54ca3547 (Lakka) Hide Download Core 2017-02-21 15:08:40 +01:00
twinaphex 36f5504375 Cleanup 2017-02-21 06:37:42 +01:00
twinaphex fc8063b334 Update CHANGES.md 2017-02-21 06:04:48 +01:00
Twinaphex eebc239348 Merge pull request #4678 from hizzlekizzle/master
(Vulkan) add bokeh menu shader for vulkan
2017-02-21 06:02:22 +01:00
hunterk a1124b8ded (Vulkan) add bokeh menu shader for vulkan 2017-02-20 22:59:05 -06:00
Twinaphex c6d255ef63 Merge pull request #4677 from GregorR/netplay-nat-traversal-task-3
Properly conditionalize NAT traversal task on HAVE_NETWORKING
2017-02-21 05:50:03 +01:00
twinaphex 81949ae2fe (task_content.c) Cleanups 2017-02-21 05:31:34 +01:00
Gregor Richards 631586b0b7 Properly conditionalize NAT traversal task on HAVE_NETWORKING 2017-02-20 23:27:50 -05:00
twinaphex a7592c2db7 Create task_load_content_callback function 2017-02-21 05:17:07 +01:00
twinaphex 0e24e2a9ef Cleanup 2017-02-21 05:07:53 +01:00
twinaphex 14297ef0d9 Cleanups 2017-02-21 04:50:26 +01:00
twinaphex b6fcc0dfac Cleanups 2017-02-21 04:47:01 +01:00
twinaphex 0a3cc7da52 Cleanups 2017-02-21 04:43:08 +01:00
twinaphex 409a7769c6 Cleanup task_push_content_load_default 2017-02-21 04:40:57 +01:00
twinaphex 1582a47bb9 Create task_push_content_load_new_content_with_new_core_from_menu 2017-02-21 04:31:03 +01:00
twinaphex f80064e0a3 Cleanup task_push_content_load_default 2017-02-21 04:18:51 +01:00
twinaphex 90b9cf2d46 Cleanups 2017-02-21 04:11:46 +01:00
twinaphex 0b5118423d Create task_push_content_load_nothing_with_new_core_from_menu 2017-02-21 04:07:40 +01:00
twinaphex e075ade748 Cleanups 2017-02-21 03:55:42 +01:00
twinaphex cca72126f2 Create task_push_content_load_nothing_with_current_core_from_menu 2017-02-21 03:54:34 +01:00
twinaphex 96210188b0 Create task_push_content_load_content_from_playlist_from_menu 2017-02-21 03:44:36 +01:00
twinaphex ba16bee5d1 Create task_push_content_load_nothing_with_dummy_core 2017-02-21 03:32:52 +01:00
Twinaphex 91ed01dbcc Merge pull request #4676 from GregorR/netplay-nat-traversal-task-2
Fix race condition in NAT traversal task.
2017-02-21 02:18:43 +01:00
Gregor Richards 972b41f803 Fix race condition in NAT traversal task. 2017-02-20 20:16:53 -05:00
Twinaphex ef5b8046f0 Merge pull request #4675 from GregorR/netplay-nat-traversal-task
Moving NAT traversal into a task to avoid blocking the UI.
2017-02-21 01:44:28 +01:00
Gregor Richards 5f723d1bda Moving NAT traversal into a task to avoid blocking the UI. 2017-02-20 19:08:31 -05:00
twinaphex 28e8b6090c Add to CHANGES.md 2017-02-20 23:57:11 +01:00
Jean-André Santoni b700a4e77b (CoreText) Fix loading fonts from a path 2017-02-20 23:11:40 +01:00
twinaphex b42fdf3bdc Add to CHANGES.md 2017-02-20 21:54:17 +01:00
twinaphex 4fb3315091 Change to 6 * 2 2017-02-20 21:52:49 +01:00
twinaphex 0d873b6da1 (Vulkan) Add fancy snow for Vulkan 2017-02-20 21:51:58 +01:00
twinaphex 962149ef63 (Vulkan) Add pipeline_snow 2017-02-20 21:25:40 +01:00
Twinaphex 9964f8e717 Merge pull request #4674 from Themaister/master
Vulkan: Simple snow pipeline works.
2017-02-20 20:56:46 +01:00
Hans-Kristian Arntzen 2d88530c98 Vulkan: Simple snow pipeline works.
Some other fixes too.
2017-02-20 20:53:59 +01:00
hunterk 43569c254c more French translation work 2017-02-20 10:48:58 -06:00
Twinaphex 24b28e59c8 Merge pull request #4672 from rootfather/intl-de
intl: Translate the new Netplay settings to German
2017-02-20 15:07:34 +01:00
rootfather 093916abfe intl: Translate the new Netplay settings to German
This adds translations for the new Netplay settings (Spectator Mode)
to the German GUI translation.
2017-02-20 10:58:48 +01:00
twinaphex bb542332dc scaler_ctx_gen_reset - get rid of memsets 2017-02-20 06:48:32 +01:00
twinaphex 712724e0ff (archive_file.c) Get rid of memsets 2017-02-20 02:12:39 +01:00
twinaphex af8f0eb9b2 (file_list.c) file_list_add - get rid of memset 2017-02-20 02:01:17 +01:00
twinaphex aaaba64f81 Get rid of memsets in materialui.c 2017-02-20 01:59:08 +01:00
twinaphex 90d6466d56 (configuration.c) Get rid of another memset 2017-02-20 01:53:53 +01:00
twinaphex b15698e6d2 string_list - get rid of memset 2017-02-20 01:50:35 +01:00
dankcushions 67a311a76b game_specific_options defaults to true and would need some specific test cases for them to be turned off 2017-02-19 22:35:30 +00:00
Twinaphex b59e015b8b Merge pull request #4670 from dankcushions/patch-2
Default game_specific_options to true.
2017-02-19 21:34:37 +01:00
dankcushions f05da5c0e1 Default game_specific_options to true.
This is the core-option overrides functionality. If the user hasn't created any override files, they won't be used. Seems to me like there's no harm in defaulting this to on.
2017-02-19 18:54:35 +00:00
twinaphex 7ee65bfe5d (libretro-db) Get rid of some memsets 2017-02-19 19:44:45 +01:00
twinaphex 3cfaf47637 Avoid 'variable may be used uninitialized in this function' warnings 2017-02-19 18:59:02 +01:00
Andrés 342be9a594 Merge pull request #4669 from fr500/master
fix no playlists + no content edge case
2017-02-19 11:58:30 -05:00
radius f33b6bc226 fix no playlists + no content edge case 2017-02-19 11:58:09 -05:00
aliaspider 0d945a81d7 stb_unicode: use the same unicode handling code as the freetype
renderer, which supports codepoints > 0xFFFF.
2017-02-19 14:40:05 +01:00
twinaphex 75188800b1 Use C comments 2017-02-19 04:37:40 +01:00
Twinaphex e51cfce8e3 Merge pull request #4666 from diablodiab/android-mouse-support
Android input driver mouse support fixes
2017-02-19 03:01:44 +01:00
Diablodiab 2cbd1898e8 Android input driver mouse support fixes:
- Fix bug with cursor moving down to the right
- Remove handling of "copy" and "thread" input states simplifying the driver
2017-02-19 02:57:28 +01:00
bparker06 0231585d06 Merge pull request #4665 from fr500/master
fix #4663
2017-02-18 20:41:58 -05:00
radius e980577531 fix #4663 2017-02-18 20:10:37 -05:00
twinaphex d1aff197b9 Cleanup netplay_lan_scan_callback 2017-02-18 22:12:41 +01:00
twinaphex 5576115389 Make natt_open_port a static function 2017-02-18 22:03:02 +01:00
twinaphex e6ee2527e5 Add filestream_get_size/filestream_set_size 2017-02-18 02:21:33 +01:00
twinaphex e9524f1b95 Add filestream_get_ext 2017-02-18 02:16:40 +01:00
Twinaphex acb20e2d28 Merge pull request #4658 from mcrisostomo/master
New translation file
2017-02-18 00:27:56 +01:00
Twinaphex cd3a58224f Merge pull request #4659 from aliaspider/master
(WiiU) use the TV resolution instead of the gamepad resolution for
2017-02-18 00:27:36 +01:00
mcrisostomo cb1aab93db New file
Added new file containing the portuguese translation of RetroArch texts
2017-02-17 11:12:42 -03:00
mcrisostomo 85478b8fc8 Reversing previous commit 2017-02-17 11:11:29 -03:00
aliaspider 461d6ed3e0 (WiiU) use the TV resolution instead of the gamepad resolution for
viewport settings. fixes #4655
2017-02-17 15:06:48 +01:00
mcrisostomo 5a74bbb0b3 New translation file
Added new file containing the portuguese translation of RetroArch texts
2017-02-17 11:01:20 -03:00
twinaphex 7a5ed7cc65 Add filestream_flush and use filestream interface for tasks/task_save.c 2017-02-17 03:03:18 +01:00
twinaphex 4964892e59 (movie.c) Simplify code 2017-02-17 02:53:40 +01:00
twinaphex ba4d57ba70 (movie.c) Cleanups 2017-02-17 02:37:12 +01:00
Twinaphex 7030c64bde Merge pull request #4656 from GregorR/ranetplayer
Adding ranetplayer netplay regression testing tool
2017-02-17 02:07:33 +01:00
Gregor Richards 0955667f0d Adding ranetplayer netplay regression testing tool 2017-02-16 19:59:40 -05:00
Twinaphex 5974acc3c7 Merge pull request #4653 from diablodiab/android-mouse-support
Android input driver - add middle mouse button and lightgun support
2017-02-17 01:21:55 +01:00
Twinaphex 139d2d65d7 Merge pull request #4654 from GregorR/netplay-start-as-spectator
Re-adding the option to start in spectator mode
2017-02-17 01:21:45 +01:00
Gregor Richards 816d7786ac Re-adding the option to start in spectator mode
This used to be a configuration option because spectator mode and "net"
mode were incompatible. When the ability to switch between player and
spectator was added, the configuration option was removed, since it was
no longer a mode toggle. This re-adds it, mainly so that I can use it to
implement regression tests.
2017-02-16 19:17:06 -05:00
Diablodiab 47d5242dd7 Add middle mouse button support to Android input driver
Add lightgun support to Android input driver
2017-02-16 21:52:52 +01:00
Andrés 8114ce70d2 Merge pull request #4650 from fr500/master
Better console behavior
2017-02-15 23:59:51 -05:00
radius 742e45c6eb attach to console if present, spawn our own otherwise 2017-02-15 22:25:17 -05:00
radius 4db257c104 allow console to work again 2017-02-15 21:09:27 -05:00
Brad Parker abc7da4c87 miniupnpc: fix include dir for linux, fix setsockopt warning on windows 2017-02-15 20:23:12 -05:00
twinaphex 5d8c191df7 Cleanup 2017-02-16 01:30:50 +01:00
twinaphex 91f2cd0b95 Fix this up 2017-02-16 01:10:45 +01:00
neville 4b63ef3123 (OSX PPC) MiniUPNPC support 2017-02-16 01:09:39 +01:00
Twinaphex c6502e9f2d Can't set this to 'yes' by default - certain platforms wouldn't
have this library
2017-02-16 01:06:06 +01:00
twinaphex da5966d474 Bake this in for default targets 2017-02-16 01:00:43 +01:00
twinaphex b3d71320bc Add miniupnpc to Android 2017-02-16 00:59:32 +01:00
Twinaphex 18f614ef8a Add MiniUPNPC to iOS build 2017-02-16 00:57:18 +01:00
Twinaphex 5f78d0594c Enable MiniUPNPC for OSX 2017-02-16 00:50:47 +01:00
Twinaphex 417cf09967 Merge branch 'master' of https://github.com/libretro/RetroArch 2017-02-16 00:45:36 +01:00
Twinaphex a51b751814 Merge pull request #4648 from leiradel/master
Fix for when net_http_get returns NET_HTTP_GET_OK but a NULL body
2017-02-16 00:38:36 +01:00
Twinaphex 37b2ebfcaa Merge pull request #4649 from fr500/master
Check if this string is null before trying to copy it
2017-02-16 00:36:27 +01:00
radius 14c1d48c66 update changelog 2017-02-15 18:26:18 -05:00
radius f00dd6f7c4 update changelog & copyright 2017-02-15 18:25:21 -05:00
radius 3a6c7b96fd prevent null check 2017-02-15 18:15:42 -05:00
Andre Leiradella 1b2685949a Fix for when net_http_get returns NET_HTTP_GET_OK but a NULL body 2017-02-15 21:30:47 +00:00
Twinaphex 37baccab99 Merge pull request #4647 from GregorR/netplay-reset
Support for reset in netplay
2017-02-15 21:40:42 +01:00
twinaphex db4b757843 Add missing file 2017-02-15 21:06:16 +01:00
twinaphex cd1b95220a Add miniupnpc dependency which can be optionally compiled in 2017-02-15 21:03:57 +01:00
Gregor Richards 4c1abfaa71 Support for reset in netplay
This patch transfers core_reset across netplay. Resets effectively
worked before thanks to check_frames, but this makes resets work even
without check_frames, and in particular should allow resets to force
sync in savestateless cores, bringing them one step closer to actually
being usable by non-experts.
2017-02-15 14:40:37 -05:00
Twinaphex d0b29f3d8e Merge pull request #4646 from dankcushions/patch-1
Change to advanced settings: auto_remaps_enable & auto_overrides_enable
2017-02-15 18:59:43 +01:00
dankcushions 6309b21252 Change to advanced settings: auto_remaps_enable & auto_overrides_enable
There seems to be no reason to show these options as they default to true and there's no reason to disable them unless you were debugging something (and even then...)

Maybe even remove the option entirely?
2017-02-15 15:15:09 +00:00
twinaphex 8da9acd1fe Rename variable 2017-02-15 12:03:25 +01:00
Twinaphex f84b6e9020 Merge pull request #4645 from fr500/master
Fix #4644
2017-02-15 11:49:45 +01:00
Twinaphex 604b49f7d3 Merge pull request #4640 from diablodiab/android-mouse-support
Add external mouse support and touch screen mouse emulation to Android input driver
2017-02-15 11:48:53 +01:00
radius 71b397902a better variable name 2017-02-15 01:42:44 -05:00
radius a67935404d fix logging to file 2017-02-15 01:40:04 -05:00
Diablodiab 4f039cac22 This adds external mouse support to the Android input driver. It also adds support for using the touch screen as mouse in cores with mouse support (eg. ScummVM).
It has been tested with the ScummVM core on:
- NVIDIA Shield TV running Android Nougat 7.0
- NVIDIA Shield Tablet running Android Nougat 7.0
- NVIDIA Shield Tablet running Android Lollipop 5.1
- Huawei Honor 7 running Android Marshmallow 6.0
- HTC Desire 500 running Android Jelly Bean 4.1

It's been tested using the touch screen, a USB mouse/keyboard combo, and a bluetooth mouse.

The Android version running on the device limits the functionality and user experience of the external mouse support.
Android Nougat and/or an NVIDIA SHIELD device with NVIDIA extensions provides the best user experience:

Android API < 14:
- Only left mouse button supported
- The Android mouse cursor will be visible along with the in game mouse cursor
- When the Android mouse cursor hits the edge of the screen it will not be possible to move the in-game mouse cursor further in that direction

Android API < 24 and no NVIDIA extensions available:
- Both left and right mouse buttons supported
- The Android mouse cursor will be visible along with the in game mouse cursor
- When the Android mouse cursor hits the edge of the screen it will not be possible to move the in-game mouse cursor further in that direction

Android API > 23 and/or NVIDIA extensions available (SHIELD devices):
- Both left and right mouse buttons supported
- The Android mouse cursor will be hidden
- The mouse is not limited by the (hidden) Android mouse cursor hitting the edge of the screen

Description of how the the touchscreen mouse support works:
- You can move the in-game mouse cursor using the touch screen. The in-game mouse cursor will move relative to your movements on the touch screen, it will not be centered on where you press the screen.
- One quick tap on the touch screen results in the left mouse button being clicked
- Two taps on the screen and keeping the second tap pressed down results in a left mouse being held down until you release
- Two fingers on the touch screen results in the right mouse button being clicked

The touch screen mouse functionality is active at the same time as overlay support. This might cause some confusion when using cores that are designed for mouse support but where you have also enabled overlay controls. At the top of android_input.c there's a define that can be used to turn off this functionality if it causes more problems than it solves.
2017-02-14 22:34:46 +01:00
Brad Parker d8e38bedf0 fix heap corruption in core info extension list 2017-02-14 13:50:42 -05:00
Twinaphex a624e617ed Merge pull request #4639 from bparker06/9slice
add 9-slice texture draw function and selectable texture filter type
2017-02-14 17:16:38 +01:00
Brad Parker 75a96b10bb add 9-slice texture draw function and selectable texture filter type 2017-02-14 11:04:21 -05:00
Twinaphex e05a8a7460 Add HAVE_SEGA 2017-02-14 10:30:28 +01:00
Brad Parker 8aa8d6ff6b MSVC2005: add winmm.lib to linker, needed by rthreads changes in f4c187e 2017-02-14 02:39:26 +00:00
Brad Parker 6d821132f5 msvc buildfix 2017-02-14 02:37:25 +00:00
Andrés a8f2f94bf6 Merge pull request #4637 from pedrib/patch-1
Fix dualshock 3 detection bug
2017-02-13 19:50:29 -05:00
Pedro Ribeiro 6659c6af3a Fix dualshock 3 detection bug 2017-02-13 21:52:53 +00:00
Brad Parker 91ebcc0680 revert 6e969d0, but need to investigate if the original change to string_is_equal is valid 2017-02-13 15:37:34 -05:00
Brad Parker 6e969d0bc6 should be !string_is_equal 2017-02-13 15:12:04 -05:00
twinaphex 0143b537a8 Avoid warnings 2017-02-13 20:24:27 +01:00
twinaphex 07881d9f4f Buildfix 2017-02-13 19:11:32 +01:00
Twinaphex b52bdeb038 Merge pull request #4634 from hizzlekizzle/master
More French fixes
2017-02-13 19:01:29 +01:00
hizzlekizzle 04904c5c9e whoops, double-quotes typoed in. 2017-02-13 11:48:43 -06:00
hizzlekizzle 854fd3f1f9 More French fixes
Courtesy of forum user Tromzy, once again. Much appreciated!
2017-02-13 11:33:11 -06:00
Twinaphex ab7ac777d7 Merge pull request #4628 from rootfather/intl-de
Finish the rewrite of the German translation
2017-02-13 17:52:11 +01:00
Twinaphex 31c65140c4 Merge pull request #4631 from hizzlekizzle/master
French remap save and load had the same word (charger)
2017-02-13 17:52:01 +01:00
Twinaphex 4241e4fedb Merge pull request #4632 from Themaister/master
Vulkan: Find supported composite alpha in swapchain.
2017-02-13 17:51:41 +01:00
Hans-Kristian Arntzen 6395907887 Vulkan: Find supported composite alpha in swapchain. 2017-02-13 16:30:02 +01:00
hizzlekizzle 31a62a63f6 Remap save and load had the same word (charger)
Thanks to forum user Tromzy for the heads-up!
2017-02-13 09:22:15 -06:00
rootfather b5c87b68f8 Claim copyright for msg_hash_de.c 2017-02-13 15:12:03 +01:00
rootfather c8f3c15cf5 Finish the rewrite of the German translation 2017-02-13 13:27:40 +01:00
Twinaphex d7ff3c809f Merge pull request #4627 from fr500/master
fix #4625
2017-02-13 12:48:06 +01:00
radius 28deb34742 fix #4625 2017-02-13 01:24:48 -05:00
Twinaphex 66c3599019 Merge pull request #4622 from rootfather/intl-de
Add some more strings to German translation
2017-02-12 23:44:31 +01:00
rootfather 672add6cab Add some more strings to German translation 2017-02-12 22:32:24 +01:00
Twinaphex e9cbde3188 Merge pull request #4621 from vanfanel/master
DISPMANX: Disable triple buffering for now, for stability reasons.
2017-02-12 19:36:01 +01:00
vanfanel 0b75671c21 DISPMANX: Disable triple buffering for now, for stability reasons. 2017-02-12 19:27:59 +01:00
Andrés 89244d0e58 Merge pull request #4620 from leiradel/master
Only compile support for leaderboards if CHEEVOS_ENABLE_LBOARDS is de…
2017-02-12 12:02:50 -05:00
Andre Leiradella 4fc758799f Only compile support for leaderboards if CHEEVOS_ENABLE_LBOARDS is defined 2017-02-12 16:18:32 +00:00
Twinaphex 55de1ff8c6 Merge pull request #4619 from diablodiab/android-ui-parameters
Add two new UI specific extras to Android version
2017-02-12 14:59:02 +01:00
Diablodiab 77e479a8bc Adds two new parameters that can be passed to the Android version of Retroarch at launch:
QUITFOCUS
If enabled this will cause Retroarch to quit completely when it loses focus (eg. when the home button is pressed). This is useful when you are using an alternative launcher such as Kodi because it will make the home button function as an alternative quit key, return to the alternative launcher, and then allow for a different game to start instead of returning to the current session.

HIDEMOUSE
Normally it is not possible to hide the mouse cursor if you have attached an external mouse to your Android unit. This makes it difficult to implement mouse support in the Android version of Retroarch because you will end up having two mouse cursors on the screen. NVIDIA has implemented extensions on the SHIELD that allows for hiding the mouse cursor. If this parameter is provided when starting Retroarch it will check for these extensions and if available it will hide the mouse cursor.

(I am almost done with adding mouse support to the Android input driver and will be submitting a suggestion for this very soon)
2017-02-12 13:26:18 +01:00
Twinaphex 66ff3db2e2 Merge pull request #4618 from rootfather/intl-de
Add more strings to the German translation
2017-02-12 11:34:13 +01:00
rootfather af7c346e23 Fix typo in the German translation 2017-02-11 23:10:29 +01:00
rootfather e0cbce96c5 Add more strings to the German translation 2017-02-11 22:15:25 +01:00
Twinaphex 640dca71cf Merge pull request #4617 from fr500/master
Changelog
2017-02-11 21:03:43 +01:00
radius 8783d92f23 update changelog 2017-02-11 14:45:11 -05:00
radius 0f1943259e add changelog 2017-02-11 14:43:28 -05:00
Twinaphex 7a79ee68d9 Merge pull request #4612 from fr500/master
Fix #3807
2017-02-11 16:37:59 +01:00
radius 9e09b28f50 Merge branch 'master' of github.com:fr500/RetroArch 2017-02-11 00:01:41 -05:00
radius 5ea570c978 add zip and 7z always to the list of supported extensions 2017-02-10 23:58:58 -05:00
radius 0c5fe1dd79 add zip and 7z always to the list of supported extensions 2017-02-10 23:58:40 -05:00
Twinaphex 25a29a4e0a Merge pull request #4609 from rootfather/intl-de
Add some more strings to German translation
2017-02-10 22:26:02 +01:00
rootfather b2f4359234 Add some more strings to German translation 2017-02-10 20:08:55 +01:00
Brad Parker 8e6df5fe85 MSVC buildfix 2017-02-09 23:54:35 -05:00
Andrés 754b7326f3 Merge pull request #4607 from fr500/master
fix crashes when trying to connect with contentless cores
2017-02-09 21:23:57 -05:00
radius cd17927990 fix contentless netplay! thanks Gregor 2017-02-09 21:22:52 -05:00
radius a33778cb87 fix crashes when trying to connect with contentless cores 2017-02-09 21:10:40 -05:00
aliaspider d1b93741d7 Merge pull request #4605 from xhp-creations/master
WiiU Fix Keyboard Input
2017-02-09 20:11:47 +01:00
xhp-creations b04bf809e3 WiiU Fix Keyboard Input
WiiU Fix Keyboard Input
2017-02-09 14:08:27 -05:00
aliaspider f0e45e970c Merge pull request #4602 from xhp-creations/master
WiiU Initial Keyboard Support
2017-02-09 18:52:06 +01:00
xhp-creations 4915f452f5 WiiU Initial Keyboard Support
WiiU Initial Keyboard Support
2017-02-09 12:34:12 -05:00
Twinaphex a0379f0598 Merge pull request #4600 from rootfather/intl-de
Rewrite German translation (Part 2.9)
2017-02-09 14:02:13 +01:00
rootfather 1c2e97b0c1 Rewrite German translation (Part 2.9) 2017-02-09 12:21:30 +01:00
Twinaphex bd40dd3ec2 Merge pull request #4597 from nadenislamarre/batocera-sdl2-blink
sdl2 renderer: remove the random flashing black borders
2017-02-08 22:57:57 +01:00
Nicolas Adenis-Lamarre 9993435cf9 sdl2 renderer: remove the random flashing black borders
on the batocera linux distribution (https://github.com/nadenislamarre/batocera.linux),
retroarch gives some flashing black borders sometimes when running a game.
It looks like sometimes the rendering is done without clearing the screen causing
this flashing effect.

Signed-off-by: Nicolas Adenis-Lamarre <[email protected]>
2017-02-08 22:31:26 +01:00
Twinaphex 8d2bafb279 Merge pull request #4596 from leiradel/master
Fixed crash in cheevos_get_description
2017-02-08 21:43:53 +01:00
Andre Leiradella 3785fc4524 Fixed crash in cheevos_get_description 2017-02-08 19:45:01 +00:00
Twinaphex bd8ecd9dfd Merge pull request #4595 from libretro/revert-4592-fix/robloach/battery-clock-scale
Revert "Allow normal Battery/Clock icon sizes [WIP]"
2017-02-08 20:02:33 +01:00
Twinaphex 962cf6b076 Revert "Allow normal Battery/Clock icon sizes [WIP]" 2017-02-08 20:02:26 +01:00
Twinaphex 890f28ae71 Merge pull request #4592 from RobLoach/fix/robloach/battery-clock-scale
Allow normal Battery/Clock icon sizes [WIP]
2017-02-08 19:57:08 +01:00
Twinaphex 90aa5ef8a5 Merge pull request #4585 from micochops/master
Updated a few more menu sublabels
2017-02-08 09:08:55 +01:00
Brad Parker 373535f329 DOS: improve color accuracy and scaling, thanks to aliaspider 2017-02-08 00:17:12 -05:00
Twinaphex 35f8ed82a0 Merge pull request #4584 from rootfather/intl-de
Rewrite German translation (part 2.1/fixes)
2017-02-08 05:15:54 +01:00
Mico Chopitea 0617262cd2 removed ifdef 2017-02-08 11:06:14 +08:00
Rob Loach 1ef482d6df Apply icon scaling to the battery and clock icons 2017-02-07 21:48:18 -05:00
Mico Chopitea 452c3529a8 Updated a few more menu sublabels 2017-02-07 23:11:08 +08:00
rootfather c3701783b1 Rewrite German translation (part 2.1/fixes)
Improve consistency and fix some errors.
Intermediate release in preparation of part 3.
2017-02-07 12:32:28 +01:00
Twinaphex a2141e61f7 Merge pull request #4582 from micochops/master
Updated menu sublabels and others
2017-02-07 08:03:15 +01:00
Mico Chopitea 46797c982b Updated menu sublabels and others 2017-02-07 14:39:17 +08:00
Twinaphex 98003ecf5d Merge pull request #4581 from fr500/master
Autoconf fallback for android
2017-02-07 06:20:46 +01:00
radius ee6d76e932 fix message 2017-02-07 00:12:30 -05:00
radius c9015aa9ba attempt autoconf fallback for android 2017-02-07 00:12:30 -05:00
Twinaphex ddeaf2c893 Merge pull request #4576 from rootfather/intl-de
Rewrite German translation (part 2)
2017-02-07 03:52:16 +01:00
Andrés 8005970842 Merge pull request #4579 from GregorR/netplay-private
Make announcing netplay on the public lobby optional
2017-02-06 13:48:02 -05:00
Gregor Richards aa77d688ec Make announcing netplay on the public lobby optional. 2017-02-06 13:45:58 -05:00
rootfather e98fac2046 Rewrite German translation (part 2) 2017-02-06 11:45:27 +01:00
twinaphex 593d1ff7b5 Update Chinese 2017-02-06 05:56:33 +01:00
twinaphex 959b1c4b13 Revert "Update Chinese"
This reverts commit c7297d41b2.
2017-02-06 05:56:01 +01:00
twinaphex c7297d41b2 Update Chinese 2017-02-06 05:55:25 +01:00
Twinaphex 9158573fda Merge pull request #4570 from rootfather/intl-de
Rewrite German translation (part 1)
2017-02-06 05:54:08 +01:00
Twinaphex cea6945963 Merge pull request #4571 from leiradel/master
Added preliminary support for Retro Achievements leaderboards
2017-02-06 05:53:33 +01:00
twinaphex 52d46dcaf4 Fix another relative include 2017-02-06 05:51:51 +01:00
twinaphex 6e5b7c3a7b Fix relative includes 2017-02-06 05:51:28 +01:00
Brad Parker 0bdcdac2da DOS: scale menu frame to fit screen 2017-02-05 15:23:38 -05:00
Brad Parker 83619b25e6 DOS: add keyboard driver to support non-joypad keys 2017-02-05 13:55:21 -05:00
Andre Leiradella bfcb8227f5 Fix typpo; parse constant values in leaderboards 2017-02-05 17:00:07 +00:00
Andre Leiradella b5153ced9d Make leaderboard term multipliers signed; mark leaderboards explicitly in log messages 2017-02-05 16:39:14 +00:00
Andre Leiradella 6b9ba1e2b1 Added preliminary support for Retro Achievements leaderboards 2017-02-05 16:23:13 +00:00
rootfather c866a3f1a8 Remove leftover pragma 2017-02-05 16:49:09 +01:00
rootfather a56a825dfb Rewrite German translation (part 1) 2017-02-05 16:12:06 +01:00
Alcaro fa341f03a0 Thing 2017-02-05 14:13:30 +01:00
twinaphex 0383d20465 Revert "Revert "Merge lakka patch for DRM""
This reverts commit 4e0ed3d3d6.
2017-02-05 11:06:51 +01:00
twinaphex 4e0ed3d3d6 Revert "Merge lakka patch for DRM"
This reverts commit 207ebe5e59.
2017-02-05 11:05:55 +01:00
twinaphex e6102fed35 Revert "Don't make AUDIO_DEVICE an 'advanced' option"
This reverts commit c1e08c1138.
2017-02-05 11:05:05 +01:00
twinaphex c1e08c1138 Don't make AUDIO_DEVICE an 'advanced' option 2017-02-05 06:59:23 +01:00
twinaphex e95f797307 Try to stay under max. 80-char width limit 2017-02-05 06:01:22 +01:00
twinaphex e99ba9a06a Cleanups 2017-02-05 05:47:15 +01:00
twinaphex df962d5898 Silence warnings 2017-02-05 05:45:08 +01:00
Alcaro 7d30b475ba Merge pull request #4392 from zeromus/master
rthreads work from desmume
2017-02-05 02:12:31 +01:00
zeromus 0ef09a0ed4 win32 scond_wait_timeout: refine 0 timeout logic 2017-02-04 16:24:14 -06:00
Brad Parker 38bfed4a93 revert retroarch.cfg overwrite 2017-02-04 14:01:57 -05:00
twinaphex b3cd6f13a5 Fix ./configure --disable-rgui 2017-02-04 09:22:17 +01:00
twinaphex e3a1b1859d Fix ./configure --disable-rgui 2017-02-04 09:20:41 +01:00
twinaphex a06380e9ca Fix ./configure --enable-python 2017-02-04 09:01:02 +01:00
zeromus 233c13228e attempt win32 scond_wait_timeout 2017-02-03 21:52:52 -06:00
Twinaphex f1b63bddbe Merge pull request #4559 from leiradel/master
Moved cheevos files to their own folder in preparation for the change…
2017-02-03 19:14:30 +01:00
Andre Leiradella 0c8ee93e3e Moved cheevos files to their own folder in preparation for the changes to support leaderboards 2017-02-03 10:03:57 +00:00
Twinaphex 49cb7789f7 Merge pull request #4557 from RobLoach/sublabel-information
Update sublabel for Information
2017-02-03 08:18:25 +01:00
Rob Loach 92eac10560 Update sublabel for Information 2017-02-02 20:21:24 -05:00
Twinaphex 74d29c4b40 Merge pull request #4556 from RobLoach/sublabel-network
Update the sublabel for Network
2017-02-03 02:19:20 +01:00
Rob Loach 30f8505647 Update Network sublabel 2017-02-02 20:14:00 -05:00
Twinaphex ba98ecd081 Merge pull request #4554 from JuanVCS/master
Workaround for manual netplay content loading
2017-02-02 23:24:40 +01:00
Juan 2c721a478c Workaround for manual netplay content loading 2017-02-02 16:32:01 -03:00
zeromus 168de31fb9 make scond_signal slightly more pthreads compliant (and other tidying). re: PR #4392 2017-01-21 22:44:31 -06:00
zeromus 3e8e02c953 change the main lock mutex to a critical section, and update copyrights year 2017-01-21 17:10:09 -06:00
zeromus 10157c5831 apply feedback re: PR #4392 2017-01-21 16:49:10 -06:00
zeromus f4c187e980 - port slock and scond fixes from desmume
- make sthread_isself return false for null test thread
full disclosure: this work was done months ago. I can't be 100% sure I've merged it correctly with recent rthreads.c changes
2017-01-09 16:46:35 -06:00
1338 changed files with 232797 additions and 94401 deletions

No files matched your search

+5
View File
@@ -63,6 +63,11 @@ menu/driverspzarch.c
/media/shaders_glsl/
/obj-w32/
# Wii U
*.depend
*.rpx
wiiu/wut/elf2rpl/elf2rpl
# Ctags
/tags
+100
View File
@@ -0,0 +1,100 @@
# 1.6.2 (future)
- IOS: Fix GL regression - 32bit color format cores were no longer rendering
- CHEEVOS: Add support for N64 cheevos and other small fixes.
- CHEEVOS: Add 'Achievements -> Achievements Verbose Mode'. Ability to display cheevos related messages in OSD, useful for RetroAchievements users.
- AUDIO: Audio mixer's volume can now be independently increased/decreased, and muted.
- AUDIO: Mute now no longer disables/enables audio but instead properly mutes the audio volume. Mute is also independent from the audio mixer volume.
- INPUT: Add mouse index selection; ability now to select between different mice
- INPUT: Fix 'All Users Control Menu' setting
- LINUX: Add a tinyalsa audio driver. Doesn't require asoundlib, should be self-contained and lower-level.
- LOBBIES: Announce the RetroArch version too
- LOCALIZATION: Add Traditional Chinese translation
- LOCALIZATION: Update French translation
- LOCALIZATION: Update Italian translation
- LOCALIZATION: Update Japanese translation
- LOCALIZATION: Update Russian translation
- MENU: Add 'User Interface -> Views'. Ability to display/hide online updater and core updater options.
- NETPLAY: Disconnecting one client shouldn't cause everyone to disconnect anymore
- NETWORK: SSL/TLS support, disabled by default
- SCANNER: Fix PS1 game scanning
- SCANNER: Move content list builder into scanner task with progress, fixes menu freeze with large playlists
- SDL2: Fix 'SDL2 driver does not see the hat on wired Xbox 360 controller"
- SETTINGS: Fix regression 'Custom Viewport is no longer overridable per-core or per-game'
- VITA: Add cheevos support
- VITA: Add support for external USB if mounted
- WAYLAND: Fix menu mouse input
- WII: Add support for single-port 'PS1/PS2 to USB controller adapter'
# 1.6.0
- ANDROID: Allow remotes to retain OK/Cancel position when menu_swap_ok_cancel is enabled
- ANDROID: Improve autoconf fallback
- ANDROID: Improve shield portable/gamepad device grouping workaround
- ANDROID: Runtime permission checking
- AUDIO: Audio mixer support. Mix up to 8 streams with the game's audio.
- AUTOSAVE/SRAM - Fix bug #3829 / #4820 (https://github.com/libretro/RetroArch/issues/3829)
- ENDIANNESS: Fixed database scanning. Should fix scanning on PS3/WiiU/Wii, etc.
- LOBBIES: Fallback to filename based matching if no CRC matches are found (for people making playlists by hand)
- LOBBIES: GUI refinement, show stop hosting when a host has been started, show disconnect when playing as client
- LOBBIES: if the game is already loaded it will try to connect directly instead of re-loading content (non-fullpath cores only)
- LOBBIES: unify both netplay menus
- LOCALIZATION/GUI: Korean font should display properly now with XMB/MaterialUI's default font
- LOCALIZATION: Update German translation
- LOCALIZATION: Update Japanese translation
- LOCALIZATION: Update Russian translation
- LOCALIZATION: Update/finish French translation
- MENU: Improved rendering for XMB ribbon; using additive blending (Vulkan/GL)
- MISC: Various frontend optimizations.
- NET: Fix bug #4703 (https://github.com/libretro/RetroArch/issues/4703)
- OSX/MACOS: Fixes serious memory leak
- THUMBNAILS: Thumbnails show up now in Load Content -> Collection, Information -> Database
- VIDEO: Fix threaded video regression; tickering of menu entries would no longer work.
- VITA: Fix 30fps menu (poke into input now instead of reading the entire input buffer which apparently is slow)
- VITA: Fix frame throttle
- VITA: Fix slow I/O
- VULKAN: Fix some crashes on loading some thumbnails
- VULKAN: Unicode font rendering support. Should fix bad character encoding for French characters, etc.
- WII: Fix crashing issues which could occur with the dummy core
- WIIU: HID Controller support
- WIIU: Initial network/netplay support
- WIIU: XMB/MaterialUI menu driver support
- WINDOWS: Added RawInput input driver for low-latency, low-level input.
- WINDOWS: Added WASAPI audio driver for low-latency audio. Both shared and exclusive mode.
- WINDOWS: Core mouse input should be relative again in cores
# 1.5.0
- ANDROID: Autoconf fallback
- ANDROID: Mouse support / Emulated mouse support
- AUTOCONF: Fix partial matches for pad name
- CHEEVOS: Fix crashes in the cheevos description menu
- CHEEVOS: WIP leaderboards support
- COMMON: 9-slice texture drawing support
- COMMON: Threading fixes
- CORETEXT/APPLE: Ability to load menu display font drivers and loading of custom font.
- DOS: Add keyboard driver
- DOS: Improve color accuracy and scaling
- GUI: Add a symbol page in the OSK
- GUI: Allow changing icon theme on the fly
- GUI: Better dialogs for XMB
- GUI: Various settings are now only visible when advanced settings is enabled
- LOCALIZATION: Add/update Korean translation
- LOCALIZATION: Rewrite German translation
- LOCALIZATION: Update several English sublabels
- LOCALIZATION: Update several Japanese labels
- MOBILE: Long-tap a setting to reset to default
- MOBILE: Single-tap for menu entry selection
- NET: Allow manual netplay content loading
- NET: Announcing network games to the public lobby is optional now
- NET: Bake in miniupnpc
- NET: Fix netplay join for contentless cores
- NET: Fix netplay rooms being pushed on the wrong tab
- NET: Lan games show next to lobbies with (lan) and connect via the private IP address
- NET: Use new lobby system with MITM support
- NUKLEAR: Update to current version
- SCANNER: Always add 7z & zip to supported extensions
- VULKAN: Add snow/bokeh shader pipeline effects - at parity with GL now
- VULKAN: Find supported composite alpha in swapchain
- WIIU: Keyboard support
- WINDOWS: Fix loading of core/content via file menu
- WINDOWS: Logging to file no longer spawns an empty window
# 1.4.1
+6 -1
View File
@@ -22,13 +22,18 @@ LIBS :=
DEFINES := -DHAVE_CONFIG_H -DRARCH_INTERNAL -DHAVE_OVERLAY
DEFINES += -DGLOBAL_CONFIG_DIR='"$(GLOBAL_CONFIG_DIR)"'
ifneq ($(findstring BSD,$(OS)),)
CFLAGS += -DBSD
LDFLAGS += -L/usr/local/lib
endif
ifneq ($(findstring DOS,$(OS)),)
CFLAGS += -march=i386
LDFLAGS += -lemu
endif
ifneq ($(findstring Win32,$(OS)),)
LDFLAGS += -static-libgcc
LDFLAGS += -static-libgcc -lwinmm
endif
include Makefile.common
+299 -62
View File
@@ -1,6 +1,7 @@
ROOT_DIR := .
DEPS_DIR := $(ROOT_DIR)/deps
LIBRETRO_COMM_DIR := $(ROOT_DIR)/libretro-common
WANT_WGL = 0
ifeq ($(HAVE_GL_CONTEXT),)
HAVE_GL_CONTEXT=0
@@ -104,7 +105,7 @@ endif
ifneq ($(findstring BSD,$(OS)),)
BSD_LOCAL_INC += -I/usr/local/include
OBJ += frontend/drivers/platform_bsd.o
HAVE_UNIX = 1
endif
ifneq ($(findstring Darwin,$(OS)),)
@@ -118,11 +119,13 @@ ifneq ($(findstring Linux,$(OS)),)
LIBS += -lrt
OBJ += input/drivers/linuxraw_input.o \
input/common/linux_common.o \
input/common/epoll_common.o \
input/drivers_joypad/linuxraw_joypad.o \
frontend/drivers/platform_linux.o
input/drivers_joypad/linuxraw_joypad.o
HAVE_UNIX = 1
endif
ifeq ($(HAVE_UNIX), 1)
OBJ += frontend/drivers/platform_unix.o
endif
ifeq ($(findstring Haiku,$(OS)),)
LIBS += -lm
@@ -156,25 +159,25 @@ OBJ += frontend/frontend.o \
retroarch.o \
dirs.o \
paths.o \
input/input_keyboard.o \
command.o \
msg_hash.o \
intl/msg_hash_us.o \
runloop.o \
$(LIBRETRO_COMM_DIR)/queues/task_queue.o \
tasks/task_content.o \
tasks/task_save.o \
tasks/task_file_transfer.o \
tasks/task_image.o \
tasks/task_audio_mixer.o \
$(LIBRETRO_COMM_DIR)/encodings/encoding_utf.o \
$(LIBRETRO_COMM_DIR)/encodings/encoding_crc32.o \
$(LIBRETRO_COMM_DIR)/lists/file_list.o \
$(LIBRETRO_COMM_DIR)/lists/dir_list.o \
$(LIBRETRO_COMM_DIR)/file/retro_dirent.o \
$(LIBRETRO_COMM_DIR)/streams/stdin_stream.o \
$(LIBRETRO_COMM_DIR)/streams/file_stream.o \
$(LIBRETRO_COMM_DIR)/streams/file_stream_transforms.o \
$(LIBRETRO_COMM_DIR)/streams/interface_stream.o \
$(LIBRETRO_COMM_DIR)/streams/memory_stream.o \
$(LIBRETRO_COMM_DIR)/file/retro_stat.o \
$(LIBRETRO_COMM_DIR)/lists/string_list.o \
$(LIBRETRO_COMM_DIR)/string/stdstring.o \
$(LIBRETRO_COMM_DIR)/memmap/memalign.o \
@@ -186,6 +189,7 @@ OBJ += frontend/frontend.o \
file_path_str.o \
$(LIBRETRO_COMM_DIR)/hash/rhash.o \
audio/audio_driver.o \
$(LIBRETRO_COMM_DIR)/audio/audio_mixer.o \
input/input_driver.o \
gfx/video_coord_array.o \
gfx/video_driver.o \
@@ -198,11 +202,11 @@ OBJ += frontend/frontend.o \
dynamic.o \
cores/dynamic_dummy.o \
$(LIBRETRO_COMM_DIR)/queues/message_queue.o \
managers/core_manager.o \
managers/state_manager.o \
gfx/drivers_font_renderer/bitmapfont.o \
tasks/task_autodetect.o \
input/input_autodetect_builtin.o \
input/input_joypad_driver.o \
input/input_config.o \
input/input_keymaps.o \
input/input_remapping.o \
@@ -220,7 +224,6 @@ OBJ += frontend/frontend.o \
tasks/task_powerstate.o \
$(LIBRETRO_COMM_DIR)/gfx/scaler/scaler.o \
gfx/drivers_shader/shader_null.o \
gfx/video_shader_driver.o \
gfx/video_shader_parse.o \
$(LIBRETRO_COMM_DIR)/gfx/scaler/pixconv.o \
$(LIBRETRO_COMM_DIR)/gfx/scaler/scaler_int.o \
@@ -264,12 +267,15 @@ OBJ += intl/msg_hash_de.o \
intl/msg_hash_fr.o \
intl/msg_hash_it.o \
intl/msg_hash_ja.o \
intl/msg_hash_ko.o \
intl/msg_hash_nl.o \
intl/msg_hash_pl.o \
intl/msg_hash_pt.o \
intl/msg_hash_pt_br.o \
intl/msg_hash_pt_pt.o \
intl/msg_hash_ru.o \
intl/msg_hash_vn.o \
intl/msg_hash_chs.o
intl/msg_hash_chs.o \
intl/msg_hash_cht.o
endif
@@ -329,6 +335,204 @@ OBJ += libretro-db/bintree.o \
tasks/task_database_cue.o
endif
ifneq ($(C89_BUILD), 1)
HAVE_LIBUI = 0
HAVE_GTKPLUS = 0
ifeq ($(HAVE_SSL), 1)
DEFINES += -DHAVE_SSL
DEFINES += -DMBEDTLS_SSL_DEBUG_ALL
# MinGW requires this for some reason, even though the include paths are relative to the source
INCLUDE_DIRS += -Ideps/mbedtls
OBJS_TLS_CRYPTO = deps/mbedtls/aes.o deps/mbedtls/aesni.o deps/mbedtls/arc4.o \
deps/mbedtls/asn1parse.o deps/mbedtls/asn1write.o deps/mbedtls/base64.o \
deps/mbedtls/bignum.o deps/mbedtls/blowfish.o deps/mbedtls/camellia.o \
deps/mbedtls/ccm.o deps/mbedtls/cipher.o deps/mbedtls/cipher_wrap.o \
deps/mbedtls/cmac.o deps/mbedtls/ctr_drbg.o deps/mbedtls/des.o \
deps/mbedtls/dhm.o deps/mbedtls/ecdh.o deps/mbedtls/ecdsa.o \
deps/mbedtls/ecjpake.o deps/mbedtls/ecp.o \
deps/mbedtls/ecp_curves.o deps/mbedtls/entropy.o deps/mbedtls/entropy_poll.o \
deps/mbedtls/error.o deps/mbedtls/gcm.o deps/mbedtls/havege.o \
deps/mbedtls/hmac_drbg.o deps/mbedtls/md.o deps/mbedtls/md2.o \
deps/mbedtls/md4.o deps/mbedtls/md5.o deps/mbedtls/md_wrap.o \
deps/mbedtls/memory_buffer_alloc.o deps/mbedtls/oid.o \
deps/mbedtls/padlock.o deps/mbedtls/pem.o deps/mbedtls/pk.o \
deps/mbedtls/pk_wrap.o deps/mbedtls/pkcs12.o deps/mbedtls/pkcs5.o \
deps/mbedtls/pkparse.o deps/mbedtls/pkwrite.o deps/mbedtls/platform.o \
deps/mbedtls/ripemd160.o deps/mbedtls/rsa.o deps/mbedtls/sha1.o \
deps/mbedtls/sha256.o deps/mbedtls/sha512.o deps/mbedtls/threading.o \
deps/mbedtls/timing.o deps/mbedtls/version.o \
deps/mbedtls/version_features.o deps/mbedtls/xtea.o
OBJS_TLS_X509 = deps/mbedtls/certs.o deps/mbedtls/pkcs11.o deps/mbedtls/x509.o \
deps/mbedtls/x509_create.o deps/mbedtls/x509_crl.o deps/mbedtls/x509_crt.o \
deps/mbedtls/x509_csr.o deps/mbedtls/x509write_crt.o deps/mbedtls/x509write_csr.o
OBJS_TLS = deps/mbedtls/debug.o deps/mbedtls/net_sockets.o \
deps/mbedtls/ssl_cache.o deps/mbedtls/ssl_ciphersuites.o \
deps/mbedtls/ssl_cli.o deps/mbedtls/ssl_cookie.o \
deps/mbedtls/ssl_srv.o deps/mbedtls/ssl_ticket.o \
deps/mbedtls/ssl_tls.o
OBJ += $(OBJS_TLS_CRYPTO) $(OBJS_TLS_X509) $(OBJS_TLS)
endif
ifeq ($(HAVE_LIBUI), 1)
ifeq ($(HAVE_GTKPLUS), 1)
CFLAGS += -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/atk-1.0
LIBS += -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0
OBJ += deps/libui/gtk/alloc.o \
deps/libui/gtk/area.o \
deps/libui/gtk/box.o \
deps/libui/gtk/button.o \
deps/libui/gtk/cellrendererbutton.o \
deps/libui/gtk/checkbox.o \
deps/libui/gtk/child.o \
deps/libui/gtk/colorbutton.o \
deps/libui/gtk/combobox.o \
deps/libui/gtk/control.o \
deps/libui/gtk/datetimepicker.o \
deps/libui/gtk/debug.o \
deps/libui/gtk/draw.o \
deps/libui/gtk/drawmatrix.o \
deps/libui/gtk/drawpath.o \
deps/libui/gtk/drawtext.o \
deps/libui/gtk/editablecombo.o \
deps/libui/gtk/entry.o \
deps/libui/gtk/fontbutton.o \
deps/libui/gtk/form.o \
deps/libui/gtk/future.o \
deps/libui/gtk/graphemes.o \
deps/libui/gtk/grid.o \
deps/libui/gtk/group.o \
deps/libui/gtk/image.o \
deps/libui/gtk/label.o \
deps/libui/gtk/main.o \
deps/libui/gtk/menu.o \
deps/libui/gtk/multilineentry.o \
deps/libui/gtk/progressbar.o \
deps/libui/gtk/radiobuttons.o \
deps/libui/gtk/separator.o \
deps/libui/gtk/slider.o \
deps/libui/gtk/spinbox.o \
deps/libui/gtk/stddialogs.o \
deps/libui/gtk/tab.o \
deps/libui/gtk/text.o \
deps/libui/gtk/util.o \
deps/libui/gtk/window.o
endif
ifneq ($(findstring Win32,$(OS)),)
OBJ += deps/libui/win32/alloc.o \
deps/libui/win32/area.o \
deps/libui/win32/areadraw.o \
deps/libui/win32/areaevents.o \
deps/libui/win32/areascroll.o \
deps/libui/win32/areautil.o \
deps/libui/win32/box.o \
deps/libui/win32/button.o \
deps/libui/win32/checkbox.o \
deps/libui/win32/colorbutton.o \
deps/libui/win32/colordialog.o \
deps/libui/win32/combobox.o \
deps/libui/win32/container.o \
deps/libui/win32/control.o \
deps/libui/win32/d2dscratch.o \
deps/libui/win32/datetimepicker.o \
deps/libui/win32/debug.o \
deps/libui/win32/draw.o \
deps/libui/win32/drawmatrix.o \
deps/libui/win32/drawpath.o \
deps/libui/win32/drawtext.o \
deps/libui/win32/dwrite.o \
deps/libui/win32/editablecombo.o \
deps/libui/win32/entry.o \
deps/libui/win32/events.o \
deps/libui/win32/fontbutton.o \
deps/libui/win32/fontdialog.o \
deps/libui/win32/form.o \
deps/libui/win32/graphemes.o \
deps/libui/win32/grid.o \
deps/libui/win32/group.o \
deps/libui/win32/init.o \
deps/libui/win32/label.o \
deps/libui/win32/main.o \
deps/libui/win32/menu.o \
deps/libui/win32/multilineentry.o \
deps/libui/win32/parent.o \
deps/libui/win32/progressbar.o \
deps/libui/win32/radiobuttons.o \
deps/libui/win32/separator.o \
deps/libui/win32/sizing.o \
deps/libui/win32/slider.o \
deps/libui/win32/spinbox.o \
deps/libui/win32/stddialogs.o \
deps/libui/win32/tab.o \
deps/libui/win32/tabpage.o \
deps/libui/win32/text.o \
deps/libui/win32/utf16.o \
deps/libui/win32/utilwin.o \
deps/libui/win32/window.o \
deps/libui/win32/winpublic.o \
deps/libui/win32/winutil.o
LIBS += -luxtheme -ld2d1 -ldwrite -lusp10
endif
ifneq ($(findstring Darwin,$(OS)),)
OBJ += deps/libui/darwin/alloc.o \
deps/libui/darwin/area.o \
deps/libui/darwin/areaevents.o \
deps/libui/darwin/autolayout.o \
deps/libui/darwin/box.o \
deps/libui/darwin/button.o \
deps/libui/darwin/checkbox.o \
deps/libui/darwin/colorbutton.o \
deps/libui/darwin/combobox.o \
deps/libui/darwin/control.o \
deps/libui/darwin/datetimepicker.o \
deps/libui/darwin/debug.o \
deps/libui/darwin/draw.o \
deps/libui/darwin/drawtext.o \
deps/libui/darwin/editablecombo.o \
deps/libui/darwin/entry.o \
deps/libui/darwin/fontbutton.o \
deps/libui/darwin/form.o \
deps/libui/darwin/grid.o \
deps/libui/darwin/group.o \
deps/libui/darwin/image.o \
deps/libui/darwin/label.o \
deps/libui/darwin/main.o \
deps/libui/darwin/map.o \
deps/libui/darwin/menu.o \
deps/libui/darwin/multilineentry.o \
deps/libui/darwin/progressbar.o \
deps/libui/darwin/radiobuttons.o \
deps/libui/darwin/scrollview.o \
deps/libui/darwin/separator.o \
deps/libui/darwin/slider.o \
deps/libui/darwin/spinbox.o \
deps/libui/darwin/stddialogs.o \
deps/libui/darwin/tab.o \
deps/libui/darwin/text.o \
deps/libui/darwin/util.o \
deps/libui/darwin/window.o \
deps/libui/darwin/winmoveresize.o
endif
OBJ += deps/libui/common/areaevents.o \
deps/libui/common/control.o \
deps/libui/common/debug.o \
deps/libui/common/matrix.o \
deps/libui/common/shouldquit.o \
deps/libui/common/userbugs.o
OBJ += deps/libui/libui_main.o
endif
endif
# Miscellaneous
ifeq ($(HAVE_STDIN_CMD), 1)
@@ -365,9 +569,7 @@ endif
ifeq ($(HAVE_OSS), 1)
OBJ += audio/drivers/oss.o
endif
ifeq ($(HAVE_OSS_BSD), 1)
else ifeq ($(HAVE_OSS_BSD), 1)
OBJ += audio/drivers/oss.o
endif
@@ -381,6 +583,11 @@ endif
DEFINES += $(ALSA_CFLAGS)
endif
ifeq ($(HAVE_TINYALSA), 1)
OBJ += audio/drivers/tinyalsa.o
DEFINES += -DHAVE_TINYALSA
endif
ifeq ($(HAVE_ROAR), 1)
OBJ += audio/drivers/roar.o
LIBS += $(ROAR_LIBS)
@@ -429,6 +636,12 @@ ifeq ($(HAVE_DSOUND), 1)
LIBS += -ldxguid -ldsound
endif
ifeq ($(HAVE_WASAPI), 1)
OBJ += audio/drivers/wasapi.o
DEFINES += -DHAVE_WASAPI
LIBS += -lole32 -lksuser
endif
ifeq ($(HAVE_XAUDIO), 1)
OBJ += audio/drivers/xaudio.o
DEFINES += -DHAVE_XAUDIO
@@ -451,9 +664,9 @@ ifeq ($(HAVE_NEON),1)
endif
OBJ += $(LIBRETRO_COMM_DIR)/audio/conversion/s16_to_float.o \
$(LIBRETRO_COMM_DIR)/audio/conversion/float_to_s16.o \
$(LIBRETRO_COMM_DIR)/audio/audio_mix.o \
$(LIBRETRO_COMM_DIR)/formats/wav/rwav.o
$(LIBRETRO_COMM_DIR)/audio/conversion/float_to_s16.o \
$(LIBRETRO_COMM_DIR)/audio/audio_mix.o \
$(LIBRETRO_COMM_DIR)/formats/wav/rwav.o
ifeq ($(HAVE_NEON),1)
OBJ += $(LIBRETRO_COMM_DIR)/audio/conversion/s16_to_float_neon.o \
@@ -545,7 +758,6 @@ ifeq ($(HAVE_MENU_COMMON), 1)
menu/menu_input.o \
menu/menu_event.o \
menu/menu_entries.o \
menu/menu_navigation.o \
menu/menu_setting.o \
menu/menu_shader.o \
menu/widgets/menu_filebrowser.o \
@@ -573,7 +785,6 @@ ifeq ($(HAVE_MENU_COMMON), 1)
menu/cbs/menu_cbs_up.o \
menu/cbs/menu_cbs_down.o \
menu/cbs/menu_cbs_contentlist_switch.o \
menu/menu_display.o \
menu/menu_displaylist.o \
menu/menu_animation.o \
menu/drivers_display/menu_display_null.o \
@@ -599,7 +810,6 @@ endif
ifeq ($(HAVE_THREADS), 1)
OBJ += $(LIBRETRO_COMM_DIR)/rthreads/rthreads.o \
$(LIBRETRO_COMM_DIR)/rthreads/rsemaphore.o \
gfx/video_thread_wrapper.o \
audio/audio_thread_wrapper.o
DEFINES += -DHAVE_THREADS
@@ -637,7 +847,8 @@ endif
endif
ifeq ($(HAVE_WAYLAND), 1)
OBJ += gfx/drivers_context/wayland_ctx.o
OBJ += gfx/drivers_context/wayland_ctx.o \
input/drivers/wayland_input.o
DEFINES += $(WAYLAND_CFLAGS) $(WAYLAND_CURSOR_CFLAGS)
LIBS += $(WAYLAND_LIBS) $(WAYLAND_CURSOR_LIBS)
endif
@@ -666,8 +877,9 @@ endif
ifeq ($(HAVE_X11), 1)
OBJ += input/common/input_x11_common.o \
input/drivers/x11_input.o \
gfx/common/dbus_common.o \
gfx/common/x11_common.o \
input/drivers_keyboard/keyboard_event_x11.o
gfx/common/xinerama_common.o
LIBS += $(X11_LIBS) $(XEXT_LIBS) $(XF86VM_LIBS) $(XINERAMA_LIBS)
DEFINES += $(X11_CFLAGS) $(XEXT_CFLAGS) $(XF86VM_CFLAGS) $(XINERAMA_CFLAGS)
@@ -699,8 +911,6 @@ ifeq ($(HAVE_UDEV), 1)
DEFINES += $(UDEV_CFLAGS)
LIBS += $(UDEV_LIBS)
OBJ += input/drivers/udev_input.o \
input/common/udev_common.o \
input/drivers_keyboard/keyboard_event_udev.o \
input/drivers_joypad/udev_joypad.o
endif
@@ -729,10 +939,10 @@ endif
ifeq ($(HAVE_HID), 1)
DEFINES += -DHAVE_HID
OBJ += input/input_hid_driver.o \
input/drivers_joypad/hid_joypad.o \
OBJ += input/drivers_joypad/hid_joypad.o \
input/connect/joypad_connection.o \
input/connect/connect_ps2adapter.o \
input/connect/connect_psxadapter.o \
input/connect/connect_ps3.o \
input/connect/connect_ps4.o \
input/connect/connect_wii.o \
@@ -746,6 +956,10 @@ ifeq ($(HAVE_PARPORT), 1)
OBJ += input/drivers_joypad/parport_joypad.o
endif
ifneq ($(findstring Win32,$(OS)),)
OBJ += input/drivers/winraw_input.o
endif
# Companion UI
ifneq ($(findstring Win32,$(OS)),)
@@ -758,14 +972,8 @@ endif
# Video
OBJ += gfx/video_context_driver.o \
gfx/drivers_context/gfx_null_ctx.o \
gfx/video_state_tracker.o \
$(LIBRETRO_COMM_DIR)/gfx/math/vector_2.o \
$(LIBRETRO_COMM_DIR)/gfx/math/vector_3.o \
$(LIBRETRO_COMM_DIR)/gfx/math/vector_4.o \
$(LIBRETRO_COMM_DIR)/gfx/math/matrix_4x4.o \
$(LIBRETRO_COMM_DIR)/gfx/math/matrix_3x3.o
OBJ += gfx/drivers_context/gfx_null_ctx.o \
gfx/video_state_tracker.o
ifeq ($(HAVE_KMS), 1)
HAVE_AND_WILL_USE_DRM = 1
@@ -790,11 +998,14 @@ ifeq ($(HAVE_PLAIN_DRM), 1)
LIBS += -ldrm
endif
OBJ += \
gfx/drivers_renderchain/null_renderchain.o
ifeq ($(HAVE_GL_CONTEXT), 1)
DEFINES += -DHAVE_OPENGL -DHAVE_GLSL
OBJ += gfx/drivers/gl.o \
gfx/drivers_renderchain/gl_legacy_renderchain.o \
$(LIBRETRO_COMM_DIR)/gfx/gl_capabilities.o \
gfx/drivers/gl_renderchains/render_chain_gl_legacy.o \
gfx/common/gl_common.o \
gfx/drivers_font/gl_raster_font.o \
$(LIBRETRO_COMM_DIR)/glsym/rglgen.o
@@ -839,7 +1050,7 @@ ifeq ($(HAVE_GL_CONTEXT), 1)
ifeq ($(HAVE_FFMPEG), 1)
ifneq ($(C89_BUILD), 1)
ifneq ($(HAVE_OPENGLES), 1)
OBJ += cores/libretro-ffmpeg/fft/fft.o
OBJ += cores/libretro-ffmpeg/ffmpeg_fft.o
DEFINES += -I$(DEPS_DIR) -DHAVE_GL_FFT
NEED_CXX_LINKER=1
endif
@@ -863,8 +1074,8 @@ endif
GL_LIBS := -framework OpenGL
OBJ += gfx/drivers_context/cgl_ctx.o
else ifneq ($(findstring Win32,$(OS)),)
GL_LIBS := -lopengl32 -lgdi32 -lcomdlg32 -lcomctl32
OBJ += gfx/drivers_context/wgl_ctx.o
GL_LIBS := -lopengl32 -lgdi32 -lcomdlg32
WANT_WGL=1
endif
LIBS += $(GL_LIBS)
endif
@@ -917,6 +1128,7 @@ endif
ifeq ($(HAVE_VULKAN), 1)
ifneq ($(findstring Win32,$(OS)),)
GLSLANG_PLATFORM := Windows
WANT_WGL = 1
else
GLSLANG_PLATFORM := Unix
endif
@@ -975,6 +1187,10 @@ ifeq ($(HAVE_VULKAN), 1)
DEFINES += -DHAVE_SLANG
endif
ifeq ($(WANT_WGL), 1)
OBJ += gfx/drivers_context/wgl_ctx.o
LIBS += -lcomctl32
endif
ifeq ($(HAVE_OMAP), 1)
OBJ += gfx/drivers/omap_gfx.o
@@ -1023,8 +1239,6 @@ endif
ifeq ($(HAVE_D3D9), 1)
OBJ += gfx/drivers/d3d.o \
gfx/drivers/d3d_renderchains/render_chain_null.o \
gfx/drivers/d3d_renderchains/render_chain_driver.o \
gfx/common/d3d_common.o \
gfx/drivers_font/d3d_w32_font.o \
gfx/drivers_context/d3d_ctx.o
@@ -1038,7 +1252,7 @@ ifeq ($(HAVE_D3D9), 1)
ifeq ($(HAVE_CG), 1)
LIBS += -lcgD3D9
OBJ += gfx/drivers/d3d_renderchains/render_chain_cg.o
OBJ += gfx/drivers_renderchain/d3d9_cg_renderchain.o
endif
endif
@@ -1060,11 +1274,9 @@ ifeq ($(HAVE_7ZIP),1)
HAVE_COMPRESSION = 1
DEFINES += -DHAVE_7ZIP
7ZOBJ = $(DEPS_DIR)/7zip/7zIn.o \
$(DEPS_DIR)/7zip/7zAlloc.o \
$(DEPS_DIR)/7zip/Bra86.o \
$(DEPS_DIR)/7zip/7zFile.o \
$(DEPS_DIR)/7zip/7zStream.o \
$(DEPS_DIR)/7zip/7zBuf2.o \
$(DEPS_DIR)/7zip/LzmaDec.o \
$(DEPS_DIR)/7zip/7zCrcOpt.o \
$(DEPS_DIR)/7zip/Bra.o \
@@ -1114,6 +1326,7 @@ endif
OBJ += $(LIBRETRO_COMM_DIR)/formats/bmp/rbmp_encode.o \
$(LIBRETRO_COMM_DIR)/formats/json/jsonsax.o \
$(LIBRETRO_COMM_DIR)/formats/json/jsonsax_full.o \
$(LIBRETRO_COMM_DIR)/formats/image_transfer.o
ifdef HAVE_COMPRESSION
@@ -1121,20 +1334,20 @@ ifdef HAVE_COMPRESSION
endif
ifeq ($(HAVE_BUILTINZLIB),1)
OBJ += $(DEPS_DIR)/zlib/adler32.o \
$(DEPS_DIR)/zlib/compress.o \
$(DEPS_DIR)/zlib/crc32.o \
$(DEPS_DIR)/zlib/deflate.o \
$(DEPS_DIR)/zlib/gzclose.o \
$(DEPS_DIR)/zlib/gzlib.o \
$(DEPS_DIR)/zlib/gzread.o \
$(DEPS_DIR)/zlib/gzwrite.o \
$(DEPS_DIR)/zlib/inffast.o \
$(DEPS_DIR)/zlib/inflate.o \
$(DEPS_DIR)/zlib/inftrees.o \
$(DEPS_DIR)/zlib/trees.o \
$(DEPS_DIR)/zlib/uncompr.o \
$(DEPS_DIR)/zlib/zutil.o
OBJ += $(DEPS_DIR)/libz/adler32.o \
$(DEPS_DIR)/libz/compress.o \
$(DEPS_DIR)/libz/crc32.o \
$(DEPS_DIR)/libz/deflate.o \
$(DEPS_DIR)/libz/gzclose.o \
$(DEPS_DIR)/libz/gzlib.o \
$(DEPS_DIR)/libz/gzread.o \
$(DEPS_DIR)/libz/gzwrite.o \
$(DEPS_DIR)/libz/inffast.o \
$(DEPS_DIR)/libz/inflate.o \
$(DEPS_DIR)/libz/inftrees.o \
$(DEPS_DIR)/libz/trees.o \
$(DEPS_DIR)/libz/uncompr.o \
$(DEPS_DIR)/libz/zutil.o
else
ifeq ($(HAVE_ZLIB),1)
OBJ += $(ZLIB_OBJS)
@@ -1165,9 +1378,14 @@ ifeq ($(HAVE_NETWORKING), 1)
network/net_http_special.o \
tasks/task_http.o \
tasks/task_netplay_lan_scan.o \
tasks/task_netplay_nat_traversal.o \
tasks/task_wifi.o \
tasks/task_netplay_find_content.o
ifeq ($(HAVE_SSL), 1)
OBJ += $(LIBRETRO_COMM_DIR)/net/net_socket_ssl.o
endif
ifneq ($(HAVE_SOCKET_LEGACY),1)
OBJ += $(LIBRETRO_COMM_DIR)/net/net_ifinfo.o
endif
@@ -1190,14 +1408,15 @@ ifeq ($(HAVE_NETWORKING), 1)
network/netplay/netplay_io.o \
network/netplay/netplay_sync.o \
network/netplay/netplay_discovery.o \
network/netplay/netplay_buf.o
network/netplay/netplay_buf.o \
network/netplay/netplay_room_parse.o
# Retro Achievements (also depends on threads)
ifeq ($(HAVE_CHEEVOS), 1)
ifeq ($(HAVE_THREADS), 1)
DEFINES += -DHAVE_CHEEVOS
OBJ += cheevos.o \
OBJ += cheevos/cheevos.o \
$(LIBRETRO_COMM_DIR)/utils/md5.o
endif
endif
@@ -1208,13 +1427,31 @@ ifeq ($(HAVE_NETWORKING), 1)
endif
ifeq ($(HAVE_MINIUPNPC), 1)
LIBS += -lminiupnpc
ifeq ($(HAVE_BUILTINMINIUPNPC), 1)
DEFINES += -DHAVE_BUILTINMINIUPNPC -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR
DEFINES += -I$(DEPS_DIR)
OBJ += \
$(DEPS_DIR)/miniupnpc/igd_desc_parse.o \
$(DEPS_DIR)/miniupnpc/upnpreplyparse.o \
$(DEPS_DIR)/miniupnpc/upnpcommands.o \
$(DEPS_DIR)/miniupnpc/upnperrors.o \
$(DEPS_DIR)/miniupnpc/connecthostport.o \
$(DEPS_DIR)/miniupnpc/portlistingparse.o \
$(DEPS_DIR)/miniupnpc/receivedata.o \
$(DEPS_DIR)/miniupnpc/upnpdev.o \
$(DEPS_DIR)/miniupnpc/minissdpc.o \
$(DEPS_DIR)/miniupnpc/miniwget.o \
$(DEPS_DIR)/miniupnpc/miniupnpc.o \
$(DEPS_DIR)/miniupnpc/minixml.o \
$(DEPS_DIR)/miniupnpc/minisoap.o
else
LIBS += -lminiupnpc
endif
endif
endif
ifneq ($(findstring Win32,$(OS)),)
OBJ += media/rarch.o \
input/drivers_keyboard/keyboard_event_win32.o \
gfx/common/win32_common.o \
frontend/drivers/platform_win32.o
@@ -1273,7 +1510,7 @@ endif
ifneq ($(findstring DOS,$(OS)),)
OBJ += gfx/drivers/vga_gfx.o gfx/drivers_font/vga_font.o \
input/drivers/dos_input.o input/drivers_joypad/dos_joypad.o \
frontend/drivers/platform_dos.o
frontend/drivers/platform_dos.o input/drivers_keyboard/keyboard_event_dos.o
ifeq ($(HAVE_MENU_COMMON), 1)
OBJ += menu/drivers_display/menu_display_vga.o
+1 -1
View File
@@ -142,7 +142,7 @@ ifeq ($(WHOLE_ARCHIVE_LINK), 1)
WHOLE_END := -Wl,--no-whole-archive
endif
CFLAGS += -I. -Ideps/zlib -Ideps/7zip -Ilibretro-common/include
CFLAGS += -I. -Ideps/libz -Ideps/7zip -Ilibretro-common/include
CFLAGS += -DRARCH_INTERNAL -DRARCH_CONSOLE -DSINC_LOWEST_QUALITY
CFLAGS += -DHAVE_FILTERS_BUILTIN $(DEFINES)
+1 -2
View File
@@ -34,7 +34,6 @@ OBJ := ctr/ctr_system.o \
libretro-common/compat/compat_strl.o \
libretro-common/file/config_file.o \
libretro-common/streams/file_stream.o \
libretro-common/file/retro_stat.o \
libretro-common/hash/rhash.o \
file_path_str.o \
verbosity.o
@@ -74,7 +73,7 @@ else
CFLAGS += -O3
endif
CFLAGS += -I. -Ideps/zlib -Ideps/7zip -Ilibretro-common/include
CFLAGS += -I. -Ideps/libz -Ideps/7zip -Ilibretro-common/include
#CFLAGS += -DRARCH_INTERNAL
CFLAGS += -DRARCH_CONSOLE -DIS_SALAMANDER
+2 -2
View File
@@ -72,7 +72,7 @@ OBJ += libretro-common/audio/dsp_filters/phaser.o
OBJ += libretro-common/audio/dsp_filters/reverb.o
OBJ += libretro-common/audio/dsp_filters/wahwah.o
CFLAGS += -Ideps/zlib/
CFLAGS += -Ideps/libz/
libretro = libretro_emscripten.bc
ifneq ($(V), 1)
@@ -111,7 +111,7 @@ $(TARGET): $(OBJ)
clean:
rm -f *.o
rm -f deps/zlib/*.o
rm -f deps/libz/*.o
rm -f frontend/*.o
rm -f menu/*.o
rm -f menu/disp/*.o
+4 -4
View File
@@ -89,7 +89,7 @@ else ifeq ($(libogc_platform), 1)
EXT_TARGET := $(TARGET_NAME)_$(platform).dol
EXT_INTER_TARGET := $(TARGET_NAME)_$(platform).elf
INCLUDE += -I. -I$(DEVKITPRO)/libogc/include -Ideps/zlib
INCLUDE += -I. -I$(DEVKITPRO)/libogc/include -Ideps/libz
ifeq ($(platform), ngc)
LIBDIRS += -L$(DEVKITPRO)/libogc/lib/cube
@@ -213,8 +213,8 @@ else ifeq ($(platform), vita)
MACHDEP := -DVITA
WANT_ZLIB := 1
INCLUDE += -Ideps/libvita2d/include
INCLUDE += -Ideps/zlib
PLATCFLAGS := -marm -mfloat-abi=hard -fsingle-precision-constant \
INCLUDE += -Ideps/libz
PLATCFLAGS := -mfloat-abi=hard -fsingle-precision-constant \
-mword-relocations -fno-unwind-tables -fno-asynchronous-unwind-tables -ftree-vectorize -fno-optimize-sibling-calls
LIBS += -lSceDisplay_stub -lSceGxm_stub -lSceNet_stub -lSceNetCtl_stub\
-lSceSysmodule_stub -lSceCtrl_stub -lSceTouch_stub -lSceAudio_stub -lSceFiber_stub\
@@ -414,7 +414,7 @@ ifneq ($(DEBUG), 1)
arm-vita-eabi-strip -g $<
endif
vita-elf-create $< $@
vita-make-fself -s $@ eboot.bin
vita-make-fself -c -s $@ eboot.bin
%.elf32: %.elf
ifeq ($(platform), xenon360)
+2 -7
View File
@@ -15,7 +15,6 @@ DEBUG = 0
HAVE_GCMGL = 0
HAVE_LOGGER = 0
HAVE_FREETYPE = 0
HAVE_RLAUNCH = 0
WHOLE_ARCHIVE_LINK = 0
CONTENT_ID_FULL = UP0001-SSNE10000_00-0000000000000001
@@ -34,7 +33,7 @@ EBOOT_PATH = pkg/ps3/USRDIR/EBOOT.BIN
CORE_PATH = pkg/ps3/USRDIR/cores/CORE.SELF
LDDIRS = -L. -L$(CELL_SDK)/target/ppu/lib/PSGL/RSX/ultra-opt
INCDIRS = -I. -Idefines -Ideps/zlib -Ilibretro-common/include
INCDIRS = -I. -Idefines -Ideps/libz -Ilibretro-common/include
# system platform
system_platform = unix
@@ -64,11 +63,7 @@ endif
PPU_SRCS = griffin/griffin.c
ifeq ($(HAVE_RLAUNCH), 1)
DEFINES += -DHAVE_RLAUNCH
endif
DEFINES += -DHAVE_MENU -DHAVE_RGUI -DHAVE_XMB -DHAVE_LIBRETRODB -DHAVE_MATERIALUI -DHAVE_SHADERPIPELINE -DRARCH_INTERNAL -DMSB_FIRST -DHAVE_OVERLAY -DHAVE_CC_RESAMPLER
DEFINES += -DHAVE_MENU -DHAVE_RGUI -DHAVE_XMB -DHAVE_LIBRETRODB -DHAVE_MATERIALUI -DHAVE_SHADERPIPELINE -DRARCH_INTERNAL -DMSB_FIRST -DHAVE_OVERLAY -DHAVE_CC_RESAMPLER -DHAVE_STB_VORBIS
ifeq ($(HAVE_GCMGL), 1)
DEFINES += -DHAVE_GCMGL
+1 -6
View File
@@ -13,7 +13,6 @@ DEBUG = 0
HAVE_GCMGL = 1
HAVE_LOGGER = 0
HAVE_FREETYPE = 0
HAVE_RLAUNCH = 0
WHOLE_ARCHIVE_LINK = 0
CONTENT_ID_FULL = UP0001-SSNE10000_00-0000000000000001
@@ -62,10 +61,6 @@ endif
PPU_SRCS = griffin/griffin.c
ifeq ($(HAVE_RLAUNCH), 1)
DEFINES += -DHAVE_RLAUNCH
endif
DEFINES += -DHAVE_RGUI -DHAVE_MATERIALUI -DHAVE_XMB -DHAVE_MENU -DRARCH_INTERNAL
ifeq ($(HAVE_GCMGL), 1)
@@ -104,7 +99,7 @@ PPU_LDLIBS = $(FONT_LIBS) $(GL_LIBS) $(WHOLE_START) -lretro_ps3 $(WHOLE_END) -l
PPU_RANLIB = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-ranlib.exe
DEFINES += -DHAVE_THREADS -DRARCH_CONSOLE -DHAVE_OPENGL -DHAVE_OVERLAY -DHAVE_HEADSET -DHAVE_OPENGLES -DHAVE_OPENGLES1 -DHAVE_PSGL -DHAVE_CG -DHAVE_CG_RUNTIME_COMPILER -DHAVE_FBO -DHAVE_SYSMODULES -DHAVE_SYSUTILS -DHAVE_RARCH_EXEC -DHAVE_RSOUND -DHAVE_ZLIB -DHAVE_RPNG -DWANT_ZLIB -DSINC_LOWER_QUALITY -D__CELLOS_LV2__ -DHAVE_NETWORKING=1 -DHAVE_SOCKET_LEGACY=1 -DHAVE_MOUSE -DHAVE_GRIFFIN=1 -DHAVE_MULTIMAN=0 -DPC_DEVELOPMENT_IP_ADDRESS=\"$(PC_DEVELOPMENT_IP_ADDRESS)\" -DPC_DEVELOPMENT_UDP_PORT=$(PC_DEVELOPMENT_UDP_PORT)
DEFINES += -DHAVE_THREADS -DRARCH_CONSOLE -DHAVE_OPENGL -DHAVE_OVERLAY -DHAVE_HEADSET -DHAVE_OPENGLES -DHAVE_OPENGLES1 -DHAVE_PSGL -DHAVE_CG -DHAVE_CG_RUNTIME_COMPILER -DHAVE_FBO -DHAVE_SYSMODULES -DHAVE_SYSUTILS -DHAVE_RARCH_EXEC -DHAVE_RSOUND -DHAVE_ZLIB -DHAVE_RPNG -DWANT_ZLIB -DSINC_LOWER_QUALITY -D__CELLOS_LV2__ -DHAVE_NETWORKING=1 -DHAVE_SOCKET_LEGACY=1 -DHAVE_MOUSE -DHAVE_GRIFFIN=1 -DHAVE_MULTIMAN=0 -DPC_DEVELOPMENT_IP_ADDRESS=\"$(PC_DEVELOPMENT_IP_ADDRESS)\" -DPC_DEVELOPMENT_UDP_PORT=$(PC_DEVELOPMENT_UDP_PORT) -DHAVE_STB_VORBIS
ifeq ($(DEBUG), 1)
PPU_OPTIMIZE_LV := -O0 -g
+1 -2
View File
@@ -18,7 +18,7 @@ endif
STRIP = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-strip.exe
PPU_CFLAGS += -I. -Ilibretro-common/include -Ideps/zlib -D__CELLOS_LV2__ -DIS_SALAMANDER -DRARCH_CONSOLE -DHAVE_SYSUTILS -DHAVE_SYSMODULES -DHAVE_RARCH_EXEC
PPU_CFLAGS += -I. -Ilibretro-common/include -Ideps/libz -D__CELLOS_LV2__ -DIS_SALAMANDER -DRARCH_CONSOLE -DHAVE_SYSUTILS -DHAVE_SYSMODULES -DHAVE_RARCH_EXEC
PPU_SRCS = frontend/frontend_salamander.c \
frontend/frontend_driver.c \
frontend/drivers/platform_ps3.c \
@@ -27,7 +27,6 @@ PPU_SRCS = frontend/frontend_salamander.c \
libretro-common/lists/dir_list.c \
libretro-common/lists/string_list.c \
libretro-common/file/retro_dirent.c \
libretro-common/file/retro_stat.c \
libretro-common/hash/rhash.c \
libretro-common/string/stdstring.c \
libretro-common/compat/compat_strl.c \
+1 -1
View File
@@ -17,7 +17,7 @@ ELF_TARGET := retroarch_psl1ght.elf
EBOOT_PATH = pkg/ps3/USRDIR/EBOOT.BIN
CORE_PATH = pkg/ps3/USRDIR/cores/CORE.SELF
INCLUDE := -I. -I$(PS3DEV)/ppu/include -Ideps/zlib -Ips3/gcmgl/include/export -Ips3/include
INCLUDE := -I. -I$(PS3DEV)/ppu/include -Ideps/libz -Ips3/gcmgl/include/export -Ips3/include
LIBDIRS := -L$(PS3DEV)/ppu/lib -L$(PS3DEV)/portlibs/ppu/lib -L.
MACHDEP := -D__CELLOS_LV2__ -D__PSL1GHT__
+1 -1
View File
@@ -19,7 +19,7 @@ ifeq ($(WHOLE_ARCHIVE_LINK), 1)
WHOLE_END := -Wl,--no-whole-archive
endif
INCDIR = deps/zlib deps/7zip libretro-common/include
INCDIR = deps/libz deps/7zip libretro-common/include
CFLAGS = $(OPTIMIZE_LV) -G0 -std=gnu99 -ffast-math
ASFLAGS = $(CFLAGS)
-1
View File
@@ -44,7 +44,6 @@ OBJS = frontend/frontend_salamander.o \
libretro-common/compat/compat_strcasestr.o \
libretro-common/file/config_file.o \
libretro-common/streams/file_stream.o \
libretro-common/file/retro_stat.o \
libretro-common/hash/rhash.o \
file_path_str.o \
verbosity.o \
+2 -1
View File
@@ -45,6 +45,7 @@ else
HAVE_THREADS := 1
HAVE_LIBRETRODB := 1
HAVE_CC_RESAMPLER := 1
HAVE_CHEEVOS := 1
RARCH_CONSOLE := 1
ifeq ($(DEBUG), 1)
@@ -97,7 +98,7 @@ STRIP := $(PREFIX)strip
NM := $(PREFIX)nm
LD := $(CXX)
INCDIRS := -I. -Ideps/zlib -Ideps/7zip -Ilibretro-common/include
INCDIRS := -I. -Ideps/libz -Ideps/7zip -Ilibretro-common/include
LIBDIRS := -L.
ARCHFLAGS := -march=armv7-a -mfpu=neon -mfloat-abi=hard -DVITA
-1
View File
@@ -45,7 +45,6 @@ OBJS = frontend/frontend_salamander.o \
libretro-common/compat/compat_strcasestr.o \
libretro-common/file/config_file.o \
libretro-common/streams/file_stream.o \
libretro-common/file/retro_stat.o \
libretro-common/hash/rhash.o \
file_path_str.o \
verbosity.o
+1 -2
View File
@@ -29,7 +29,7 @@ ELF2DOL = $(DEVKITPPC)/bin/elf2dol$(EXE_EXT)
DOL_TARGET := retroarch-salamander_wii.dol
ELF_TARGET := retroarch-salamander_wii.elf
INCLUDE := -I. -I$(DEVKITPRO)/libogc/include -Ilibretro-common/include -Ideps/zlib
INCLUDE := -I. -I$(DEVKITPRO)/libogc/include -Ilibretro-common/include -Ideps/libz
LIBDIRS := -L$(DEVKITPRO)/libogc/lib/wii -L.
MACHDEP := -DGEKKO -DHW_RVL -mrvl -mcpu=750 -meabi -mhard-float
@@ -51,7 +51,6 @@ OBJ = frontend/frontend_salamander.o \
libretro-common/lists/dir_list.o \
libretro-common/streams/file_stream.o \
libretro-common/file/retro_dirent.o \
libretro-common/file/retro_stat.o \
libretro-common/compat/compat_strl.o \
libretro-common/compat/compat_strcasestr.o \
libretro-common/file/config_file.o \
+37 -10
View File
@@ -1,18 +1,34 @@
TARGET := retroarch_wiiu
BUILD_HBL_ELF = 1
BUILD_RPX = 1
BUILD_RPX = 1
DEBUG = 0
GRIFFIN_BUILD = 0
WHOLE_ARCHIVE_LINK = 0
PC_DEVELOPMENT_IP_ADDRESS =
PC_DEVELOPMENT_TCP_PORT =
PC_DEVELOPMENT_IP_ADDRESS ?=
PC_DEVELOPMENT_TCP_PORT ?=
OBJ :=
OBJ += wiiu/system/memory.o
OBJ += wiiu/system/exception_handler.o
OBJ += wiiu/system/missing_libc_functions.o
OBJ += wiiu/fs/sd_fat_devoptab.o
OBJ += wiiu/fs/fs_utils.o
OBJ += wiiu/controller_patcher/ControllerPatcher.o
OBJ += wiiu/controller_patcher/ControllerPatcherWrapper.o
OBJ += wiiu/controller_patcher/ConfigReader.o
OBJ += wiiu/controller_patcher/config/ConfigParser.o
OBJ += wiiu/controller_patcher/config/ConfigValues.o
OBJ += wiiu/controller_patcher/network/ControllerPatcherNet.o
OBJ += wiiu/controller_patcher/network/TCPServer.o
OBJ += wiiu/controller_patcher/network/UDPClient.o
OBJ += wiiu/controller_patcher/network/UDPServer.o
OBJ += wiiu/controller_patcher/patcher/ControllerPatcherUtils.o
OBJ += wiiu/controller_patcher/patcher/ControllerPatcherHID.o
OBJ += wiiu/controller_patcher/utils/CPRetainVars.o
OBJ += wiiu/controller_patcher/utils/CPStringTools.o
OBJ += wiiu/controller_patcher/utils/PadConst.o
OBJ += wiiu/controller_patcher/utils/FSHelper.o
OBJ += wiiu/tex_shader.o
OBJ += wiiu/hbl.o
@@ -22,7 +38,10 @@ ifeq ($(GRIFFIN_BUILD), 1)
OBJ += griffin/griffin.o
DEFINES += -DHAVE_GRIFFIN=1 -DHAVE_MENU -DHAVE_RGUI -DHAVE_LIBRETRODB
DEFINES += -DHAVE_ZLIB -DHAVE_RPNG -DHAVE_RJPEG -DHAVE_RBMP -DHAVE_RTGA -DWANT_ZLIB -DHAVE_CC_RESAMPLER
# DEFINES += -DHAVE_XMB -DHAVE_MATERIALUI
DEFINES += -DHAVE_STB_FONT -DHAVE_STB_VORBIS -DHAVE_LANGEXTRA -DHAVE_LIBRETRODB -DHAVE_NETWORKING
# DEFINES += -DWANT_IFADDRS
# DEFINES += -DHAVE_FREETYPE
DEFINES += -DHAVE_XMB -DHAVE_MATERIALUI
else
HAVE_MENU_COMMON = 1
HAVE_RTGA = 1
@@ -35,18 +54,25 @@ else
HAVE_BUILTINZLIB = 1
HAVE_LIBRETRODB = 1
HAVE_ZARCH = 0
HAVE_MATERIALUI = 0
HAVE_XMB = 0
HAVE_MATERIALUI = 1
HAVE_XMB = 1
HAVE_STB_FONT = 1
# HAVE_FREETYPE = 1
HAVE_LANGEXTRA = 1
HAVE_LIBRETRODB = 1
HAVE_NETWORKING = 1
# WANT_IFADDRS = 1
include Makefile.common
BLACKLIST :=
BLACKLIST += input/input_overlay.o
BLACKLIST += tasks/task_overlay.o
BLACKLIST += $(LIBRETRO_COMM_DIR)/net/net_ifinfo.o
OBJ := $(filter-out $(BLACKLIST),$(OBJ))
OBJ += gfx/drivers/wiiu_gfx.o
# OBJ += gfx/drivers_font/wiiu_font.o
# OBJ += menu/drivers_display/menu_display_wiiu.o
OBJ += gfx/drivers_font/wiiu_font.o
OBJ += menu/drivers_display/menu_display_wiiu.o
OBJ += input/drivers/wiiu_input.o
OBJ += input/drivers_joypad/wiiu_joypad.o
OBJ += audio/drivers/wiiu_audio.o
@@ -101,7 +127,7 @@ else
endif
INCDIRS := -I. -Ideps/zlib -Ideps/7zip -Ilibretro-common/include -Iwiiu -Iwiiu/include -I$(DEVKITPRO)/portlibs/ppc/include
INCDIRS := -I. -Ideps/libz -Ideps/7zip -Ilibretro-common/include -Iwiiu -Iwiiu/include -I$(DEVKITPRO)/portlibs/ppc/include
LIBDIRS := -L. -L$(DEVKITPRO)/portlibs/ppc/lib
CFLAGS := -mwup -mcpu=750 -meabi -mhard-float
@@ -123,6 +149,7 @@ CFLAGS += -ffast-math -Werror=implicit-function-declaration
#todo: remove -DWIIU and use the built-in macros instead (HW_WUP or __wiiu__).
CFLAGS += -DWIIU -DMSB_FIRST
CFLAGS += -DHAVE_MAIN
CFLAGS += -DHAVE_UPDATE_ASSETS
CFLAGS += -DRARCH_INTERNAL -DRARCH_CONSOLE
CFLAGS += -DHAVE_FILTERS_BUILTIN $(DEFINES)
@@ -138,7 +165,7 @@ ifeq ($(WHOLE_ARCHIVE_LINK), 1)
WHOLE_START := -Wl,--whole-archive
WHOLE_END := -Wl,--no-whole-archive
endif
CXXFLAGS := $(CFLAGS) -fno-rtti -fno-exceptions
CXXFLAGS := $(CFLAGS) -fno-rtti -fno-exceptions -D_GNU_SOURCE
LDFLAGS += -Wl,--gc-sections
+1 -2
View File
@@ -25,7 +25,6 @@ OBJ += libretro-common/file/retro_dirent.o
OBJ += libretro-common/compat/compat_strl.o
OBJ += libretro-common/file/config_file.o
OBJ += libretro-common/streams/file_stream.o
OBJ += libretro-common/file/retro_stat.o
OBJ += libretro-common/hash/rhash.o
OBJ += file_path_str.o
OBJ += verbosity.o
@@ -59,7 +58,7 @@ else
endif
INCDIRS := -I. -Ideps/zlib -Ideps/7zip -Ilibretro-common/include -Iwiiu -Iwiiu/include -I$(DEVKITPRO)/portlibs/ppc/include
INCDIRS := -I. -Ideps/libz -Ideps/7zip -Ilibretro-common/include -Iwiiu -Iwiiu/include -I$(DEVKITPRO)/portlibs/ppc/include
LIBDIRS := -L. -L$(DEVKITPRO)/portlibs/ppc/lib
CFLAGS := -mwup -mcpu=750 -meabi -mhard-float
+1
View File
@@ -3,6 +3,7 @@ TARGET = retroarch.exe
HAVE_DINPUT = 1
HAVE_XAUDIO = 1
HAVE_DSOUND = 1
HAVE_WASAPI = 1
HAVE_OPENGL = 1
HAVE_FBO = 1
HAVE_DYLIB = 1
+422 -145
View File
@@ -25,6 +25,7 @@
#include <audio/dsp_filter.h>
#include <file/file_path.h>
#include <lists/dir_list.h>
#include <string/stdstring.h>
#ifdef HAVE_CONFIG_H
#include "../config.h"
@@ -32,6 +33,7 @@
#include "audio_driver.h"
#include "audio_thread_wrapper.h"
#include "../gfx/video_driver.h"
#include "../record/record_driver.h"
#include "../frontend/frontend_driver.h"
@@ -39,13 +41,13 @@
#include "../driver.h"
#include "../configuration.h"
#include "../retroarch.h"
#include "../runloop.h"
#include "../performance_counters.h"
#include "../verbosity.h"
#include "../list_special.h"
#define AUDIO_BUFFER_FREE_SAMPLES_COUNT (8 * 1024)
#define AUDIO_MIXER_MAX_STREAMS 8
static const audio_driver_t *audio_drivers[] = {
#ifdef HAVE_ALSA
&audio_alsa,
@@ -53,6 +55,9 @@ static const audio_driver_t *audio_drivers[] = {
&audio_alsathread,
#endif
#endif
#ifdef HAVE_TINYALSA
&audio_tinyalsa,
#endif
#if defined(HAVE_OSS) || defined(HAVE_OSS_BSD)
&audio_oss,
#endif
@@ -83,6 +88,9 @@ static const audio_driver_t *audio_drivers[] = {
#ifdef HAVE_DSOUND
&audio_dsound,
#endif
#ifdef HAVE_WASAPI
&audio_wasapi,
#endif
#ifdef HAVE_PULSE
&audio_pulse,
#endif
@@ -102,7 +110,7 @@ static const audio_driver_t *audio_drivers[] = {
&audio_rwebaudio,
#endif
#if defined(PSP) || defined(VITA)
&audio_psp,
&audio_psp,
#endif
#ifdef _3DS
&audio_ctr_csnd,
@@ -112,44 +120,65 @@ static const audio_driver_t *audio_drivers[] = {
NULL,
};
struct audio_mixer_stream
{
audio_mixer_sound_t *handle;
audio_mixer_voice_t *voice;
audio_mixer_stop_cb_t stop_cb;
enum audio_mixer_state state;
float volume;
void *buf;
size_t bufsize;
};
static unsigned audio_mixer_current_max_idx = 0;
static struct audio_mixer_stream audio_mixer_streams[AUDIO_MIXER_MAX_STREAMS] = {{0}};
static size_t audio_driver_chunk_size = 0;
static size_t audio_driver_chunk_nonblock_size = 0;
static size_t audio_driver_chunk_block_size = 0;
static size_t audio_driver_rewind_ptr = 0;
static size_t audio_driver_rewind_size = 0;
static int16_t *audio_driver_rewind_buf = NULL;
static float *audio_driver_input_data = NULL;
static int16_t *audio_driver_rewind_buf = NULL;
static int16_t *audio_driver_output_samples_conv_buf = NULL;
static unsigned audio_driver_free_samples_buf[AUDIO_BUFFER_FREE_SAMPLES_COUNT];
static uint64_t audio_driver_free_samples_count = 0;
static float *audio_driver_output_samples_buf = NULL;
static int16_t *audio_driver_output_samples_conv_buf = NULL;
static float audio_driver_volume_gain = 0.0f;
static size_t audio_driver_buffer_size = 0;
static size_t audio_driver_data_ptr = 0;
static bool audio_driver_control = false;
static bool audio_driver_control = false;
static bool audio_driver_mixer_mute_enable = false;
static bool audio_driver_mute_enable = false;
static bool audio_driver_use_float = false;
static bool audio_driver_active = false;
static bool audio_driver_data_own = false;
static bool audio_mixer_active = false;
static float audio_driver_rate_control_delta = 0.0f;
static float audio_driver_input = 0.0f;
static float audio_driver_volume_gain = 0.0f;
static float audio_driver_mixer_volume_gain = 0.0f;
static float *audio_driver_input_data = NULL;
static float *audio_driver_output_samples_buf = NULL;
static double audio_source_ratio_original = 0.0f;
static double audio_source_ratio_current = 0.0f;
static struct retro_audio_callback audio_callback = {0};
static retro_dsp_filter_t *audio_driver_dsp = NULL;
static struct string_list *audio_driver_devices_list = NULL;
static const retro_resampler_t *audio_driver_resampler = NULL;
static void *audio_driver_resampler_data = NULL;
static const audio_driver_t *current_audio = NULL;
static void *audio_driver_context_audio_data = NULL;
static bool audio_driver_use_float = false;
static bool audio_driver_active = false;
static bool audio_driver_data_own = false;
/**
* compute_audio_buffer_statistics:
*
@@ -159,13 +188,14 @@ static bool audio_driver_data_own = false;
static void compute_audio_buffer_statistics(void)
{
unsigned i, low_water_size, high_water_size, avg, stddev;
float avg_filled, deviation;
float avg_filled = 0.0f;
float deviation = 0.0f;
uint64_t accum = 0;
uint64_t accum_var = 0;
unsigned low_water_count = 0;
unsigned high_water_count = 0;
unsigned samples = MIN(
audio_driver_free_samples_count,
(unsigned)audio_driver_free_samples_count,
AUDIO_BUFFER_FREE_SAMPLES_COUNT);
if (samples < 3)
@@ -174,7 +204,7 @@ static void compute_audio_buffer_statistics(void)
for (i = 1; i < samples; i++)
accum += audio_driver_free_samples_buf[i];
avg = accum / (samples - 1);
avg = (unsigned)accum / (samples - 1);
for (i = 1; i < samples; i++)
{
@@ -186,8 +216,8 @@ static void compute_audio_buffer_statistics(void)
avg_filled = 1.0f - (float)avg / audio_driver_buffer_size;
deviation = (float)stddev / audio_driver_buffer_size;
low_water_size = audio_driver_buffer_size * 3 / 4;
high_water_size = audio_driver_buffer_size / 4;
low_water_size = (unsigned)(audio_driver_buffer_size * 3 / 4);
high_water_size = (unsigned)(audio_driver_buffer_size / 4);
for (i = 1; i < samples; i++)
{
@@ -197,9 +227,9 @@ static void compute_audio_buffer_statistics(void)
high_water_count++;
}
RARCH_LOG("Average audio buffer saturation: %.2f %%, standard deviation (percentage points): %.2f %%.\n",
RARCH_LOG("[Audio]: Average audio buffer saturation: %.2f %%, standard deviation (percentage points): %.2f %%.\n",
avg_filled * 100.0, deviation * 100.0);
RARCH_LOG("Amount of time spent close to underrun: %.2f %%. Close to blocking: %.2f %%.\n",
RARCH_LOG("[Audio]: Amount of time spent close to underrun: %.2f %%. Close to blocking: %.2f %%.\n",
(100.0 * low_water_count) / (samples - 1),
(100.0 * high_water_count) / (samples - 1));
}
@@ -269,7 +299,7 @@ static bool audio_driver_deinit_internal(void)
audio_driver_rewind_size = 0;
if (settings && !settings->audio.enable)
if (settings && !settings->bools.audio_enable)
{
audio_driver_active = false;
return false;
@@ -299,17 +329,15 @@ static bool audio_driver_init_internal(bool audio_cb_inited)
float *samples_buf = NULL;
int16_t *conv_buf = NULL;
int16_t *rewind_buf = NULL;
size_t outsamples_max = AUDIO_CHUNK_SIZE_NONBLOCKING * 2;
size_t max_bufsamples = AUDIO_CHUNK_SIZE_NONBLOCKING * 2;
settings_t *settings = config_get_ptr();
/* Accomodate rewind since at some point we might have two full buffers. */
size_t outsamples_max = AUDIO_CHUNK_SIZE_NONBLOCKING * 2 * AUDIO_MAX_RATIO *
settings->floats.slowmotion_ratio;
convert_s16_to_float_init_simd();
convert_float_to_s16_init_simd();
/* Accomodate rewind since at some point we might have two full buffers. */
outsamples_max = max_bufsamples * AUDIO_MAX_RATIO *
settings->slowmotion_ratio;
conv_buf = (int16_t*)malloc(outsamples_max
* sizeof(int16_t));
/* Used for recording even if audio isn't enabled. */
@@ -334,7 +362,7 @@ static bool audio_driver_init_internal(bool audio_cb_inited)
audio_driver_rewind_buf = rewind_buf;
audio_driver_rewind_size = max_bufsamples;
if (!settings->audio.enable)
if (!settings->bools.audio_enable)
{
audio_driver_active = false;
return false;
@@ -344,14 +372,15 @@ static bool audio_driver_init_internal(bool audio_cb_inited)
#ifdef HAVE_THREADS
if (audio_cb_inited)
{
RARCH_LOG("Starting threaded audio driver ...\n");
RARCH_LOG("[Audio]: Starting threaded audio driver ...\n");
if (!audio_init_thread(
&current_audio,
&audio_driver_context_audio_data,
*settings->audio.device ? settings->audio.device : NULL,
settings->audio.out_rate, &new_rate,
settings->audio.latency,
settings->audio.block_frames,
*settings->arrays.audio_device
? settings->arrays.audio_device : NULL,
settings->uints.audio_out_rate, &new_rate,
settings->uints.audio_latency,
settings->uints.audio_block_frames,
current_audio))
{
RARCH_ERR("Cannot open threaded audio driver ... Exiting ...\n");
@@ -362,15 +391,18 @@ static bool audio_driver_init_internal(bool audio_cb_inited)
#endif
{
audio_driver_context_audio_data =
current_audio->init(*settings->audio.device ?
settings->audio.device : NULL,
settings->audio.out_rate, settings->audio.latency,
settings->audio.block_frames,
current_audio->init(*settings->arrays.audio_device ?
settings->arrays.audio_device : NULL,
settings->uints.audio_out_rate,
settings->uints.audio_latency,
settings->uints.audio_block_frames,
&new_rate);
}
if (new_rate != 0)
settings->audio.out_rate = new_rate;
{
configuration_set_int(settings, settings->uints.audio_out_rate, new_rate);
}
if (!audio_driver_context_audio_data)
{
@@ -383,7 +415,7 @@ static bool audio_driver_init_internal(bool audio_cb_inited)
&& current_audio->use_float(audio_driver_context_audio_data))
audio_driver_use_float = true;
if (!settings->audio.sync && audio_driver_active)
if (!settings->bools.audio_sync && audio_driver_active)
{
command_event(CMD_EVENT_AUDIO_SET_NONBLOCKING_STATE, NULL);
audio_driver_chunk_size = audio_driver_chunk_nonblock_size;
@@ -393,21 +425,21 @@ static bool audio_driver_init_internal(bool audio_cb_inited)
{
/* Should never happen. */
RARCH_WARN("Input rate is invalid (%.3f Hz). Using output rate (%u Hz).\n",
audio_driver_input, settings->audio.out_rate);
audio_driver_input = settings->audio.out_rate;
audio_driver_input, settings->uints.audio_out_rate);
audio_driver_input = settings->uints.audio_out_rate;
}
audio_source_ratio_original = audio_source_ratio_current =
(double)settings->audio.out_rate / audio_driver_input;
(double)settings->uints.audio_out_rate / audio_driver_input;
if (!retro_resampler_realloc(
&audio_driver_resampler_data,
&audio_driver_resampler,
settings->audio.resampler,
settings->arrays.audio_resampler,
audio_source_ratio_original))
{
RARCH_ERR("Failed to initialize resampler \"%s\".\n",
settings->audio.resampler);
settings->arrays.audio_resampler);
audio_driver_active = false;
}
@@ -420,7 +452,7 @@ static bool audio_driver_init_internal(bool audio_cb_inited)
audio_driver_input_data = aud_inp_data;
audio_driver_data_ptr = 0;
retro_assert(settings->audio.out_rate <
retro_assert(settings->uints.audio_out_rate <
audio_driver_input * AUDIO_MAX_RATIO);
samples_buf = (float*)malloc(outsamples_max * sizeof(float));
@@ -436,7 +468,7 @@ static bool audio_driver_init_internal(bool audio_cb_inited)
if (
!audio_cb_inited
&& audio_driver_active
&& settings->audio.rate_control
&& settings->bools.audio_rate_control
)
{
/* Audio rate control requires write_avail
@@ -451,21 +483,15 @@ static bool audio_driver_init_internal(bool audio_cb_inited)
RARCH_WARN("Audio rate control was desired, but driver does not support needed features.\n");
}
/* If we start muted, stop the audio driver,
* so subsequent unmute works. */
if ( !audio_cb_inited
&& audio_driver_active
&& settings->audio.mute_enable)
audio_driver_stop();
command_event(CMD_EVENT_DSP_FILTER_INIT, NULL);
audio_driver_free_samples_count = 0;
audio_mixer_init(settings->uints.audio_out_rate);
/* Threaded driver is initially stopped. */
if (
audio_driver_active
&& !settings->audio.mute_enable
&& audio_cb_inited
)
audio_driver_start(false);
@@ -483,8 +509,9 @@ void audio_driver_set_nonblocking_state(bool enable)
audio_driver_active
&& audio_driver_context_audio_data
)
current_audio->set_nonblock_state(audio_driver_context_audio_data,
settings->audio.sync ? enable : true);
current_audio->set_nonblock_state(
audio_driver_context_audio_data,
settings->bools.audio_sync ? enable : true);
audio_driver_chunk_size = enable ?
audio_driver_chunk_nonblock_size :
@@ -509,12 +536,10 @@ static bool audio_driver_flush(const int16_t *data, size_t samples)
bool is_paused = false;
bool is_idle = false;
bool is_slowmotion = false;
static struct retro_perf_counter resampler_proc = {0};
static struct retro_perf_counter audio_convert_s16 = {0};
const void *output_data = NULL;
unsigned output_frames = 0;
size_t output_size = sizeof(float);
settings_t *settings = config_get_ptr();
float audio_volume_gain = !audio_driver_mute_enable ?
audio_driver_volume_gain : 0.0f;
src_data.data_in = NULL;
src_data.data_out = NULL;
@@ -528,16 +553,13 @@ static bool audio_driver_flush(const int16_t *data, size_t samples)
runloop_get_status(&is_paused, &is_idle, &is_slowmotion,
&is_perfcnt_enable);
if (is_paused || settings->audio.mute_enable)
if (is_paused)
return true;
if (!audio_driver_active || !audio_driver_input_data)
return false;
performance_counter_init(audio_convert_s16, "audio_convert_s16");
performance_counter_start_plus(is_perfcnt_enable, audio_convert_s16);
convert_s16_to_float(audio_driver_input_data, data, samples,
audio_driver_volume_gain);
performance_counter_stop_plus(is_perfcnt_enable, audio_convert_s16);
audio_volume_gain);
src_data.data_in = audio_driver_input_data;
src_data.input_frames = samples >> 1;
@@ -545,7 +567,6 @@ static bool audio_driver_flush(const int16_t *data, size_t samples)
if (audio_driver_dsp)
{
static struct retro_perf_counter audio_dsp = {0};
struct retro_dsp_data dsp_data;
dsp_data.input = NULL;
@@ -554,17 +575,14 @@ static bool audio_driver_flush(const int16_t *data, size_t samples)
dsp_data.output_frames = 0;
dsp_data.input = audio_driver_input_data;
dsp_data.input_frames = samples >> 1;
dsp_data.input_frames = (unsigned)(samples >> 1);
performance_counter_init(audio_dsp, "audio_dsp");
performance_counter_start_plus(is_perfcnt_enable, audio_dsp);
retro_dsp_filter_process(audio_driver_dsp, &dsp_data);
performance_counter_stop_plus(is_perfcnt_enable, audio_dsp);
if (dsp_data.output)
{
src_data.data_in = dsp_data.output;
src_data.input_frames = dsp_data.output_frames;
src_data.data_in = dsp_data.output;
src_data.input_frames = dsp_data.output_frames;
}
}
@@ -575,60 +593,66 @@ static bool audio_driver_flush(const int16_t *data, size_t samples)
/* Readjust the audio input rate. */
unsigned write_idx = audio_driver_free_samples_count++ &
(AUDIO_BUFFER_FREE_SAMPLES_COUNT - 1);
int half_size = audio_driver_buffer_size / 2;
int half_size = (int)(audio_driver_buffer_size / 2);
int avail =
current_audio->write_avail(audio_driver_context_audio_data);
(int)current_audio->write_avail(audio_driver_context_audio_data);
int delta_mid = avail - half_size;
double direction = (double)delta_mid / half_size;
double adjust = 1.0 + settings->audio.rate_control_delta * direction;
double adjust = 1.0 + audio_driver_rate_control_delta * direction;
#if 0
RARCH_LOG_OUTPUT("Audio buffer is %u%% full\n",
RARCH_LOG_OUTPUT("[Audio]: Audio buffer is %u%% full\n",
(unsigned)(100 - (avail * 100) / audio_driver_buffer_size));
#endif
audio_driver_free_samples_buf[write_idx] = avail;
audio_driver_free_samples_buf
[write_idx] = avail;
audio_source_ratio_current =
audio_source_ratio_original * adjust;
#if 0
RARCH_LOG_OUTPUT("New rate: %lf, Orig rate: %lf\n",
RARCH_LOG_OUTPUT("[Audio]: New rate: %lf, Orig rate: %lf\n",
audio_source_ratio_current,
audio_source_ratio_original);
#endif
}
src_data.ratio = audio_source_ratio_current;
src_data.ratio = audio_source_ratio_current;
if (is_slowmotion)
src_data.ratio *= settings->slowmotion_ratio;
performance_counter_init(resampler_proc, "resampler_proc");
performance_counter_start_plus(is_perfcnt_enable, resampler_proc);
{
settings_t *settings = config_get_ptr();
src_data.ratio *= settings->floats.slowmotion_ratio;
}
audio_driver_resampler->process(audio_driver_resampler_data, &src_data);
performance_counter_stop_plus(is_perfcnt_enable, resampler_proc);
output_data = audio_driver_output_samples_buf;
output_frames = src_data.output_frames;
if (!audio_driver_use_float)
if (audio_mixer_active)
{
static struct retro_perf_counter audio_convert_float = {0};
bool override = audio_driver_mixer_mute_enable ? true :
(audio_driver_mixer_volume_gain != 0.0f) ? true : false;
float mixer_gain = !audio_driver_mixer_mute_enable ?
audio_driver_mixer_volume_gain : 0.0f;
audio_mixer_mix(audio_driver_output_samples_buf,
src_data.output_frames, mixer_gain, override);
}
performance_counter_init(audio_convert_float, "audio_convert_float");
performance_counter_start_plus(is_perfcnt_enable, audio_convert_float);
output_data = audio_driver_output_samples_buf;
output_frames = (unsigned)src_data.output_frames;
if (audio_driver_use_float)
output_frames *= sizeof(float);
else
{
convert_float_to_s16(audio_driver_output_samples_conv_buf,
(const float*)output_data, output_frames * 2);
performance_counter_stop_plus(is_perfcnt_enable, audio_convert_float);
output_data = audio_driver_output_samples_conv_buf;
output_size = sizeof(int16_t);
output_data = audio_driver_output_samples_conv_buf;
output_frames *= sizeof(int16_t);
}
if (current_audio->write(audio_driver_context_audio_data,
output_data, output_frames * output_size * 2,
is_perfcnt_enable) < 0)
output_data, output_frames * 2) < 0)
{
audio_driver_active = false;
return false;
@@ -717,11 +741,6 @@ size_t audio_driver_sample_batch_rewind(const int16_t *data, size_t frames)
return frames;
}
void audio_driver_set_volume_gain(float gain)
{
audio_driver_volume_gain = gain;
}
void audio_driver_dsp_filter_free(void)
{
if (audio_driver_dsp)
@@ -767,22 +786,22 @@ void audio_driver_monitor_adjust_system_rates(void)
{
float timing_skew;
settings_t *settings = config_get_ptr();
const struct retro_system_timing *info = NULL;
struct retro_system_av_info *av_info = video_viewport_get_system_av_info();
float video_refresh_rate = settings->floats.video_refresh_rate;
float max_timing_skew = settings->floats.audio_max_timing_skew;
const struct retro_system_timing *info = av_info ?
(const struct retro_system_timing*)&av_info->timing : NULL;
if (av_info)
info = (const struct retro_system_timing*)&av_info->timing;
if (!info || info->sample_rate <= 0.0)
return;
timing_skew = fabs(1.0f - info->fps / settings->video.refresh_rate);
timing_skew = fabs(1.0f - info->fps / video_refresh_rate);
audio_driver_input = info->sample_rate;
if (timing_skew <= settings->audio.max_timing_skew)
audio_driver_input *= (settings->video.refresh_rate / info->fps);
if (timing_skew <= max_timing_skew)
audio_driver_input *= (video_refresh_rate / info->fps);
RARCH_LOG("Set audio input rate to: %.2f Hz.\n",
RARCH_LOG("[Audio]: Set audio input rate to: %.2f Hz.\n",
audio_driver_input);
}
@@ -812,11 +831,11 @@ bool audio_driver_find_driver(void)
settings_t *settings = config_get_ptr();
drv.label = "audio_driver";
drv.s = settings->audio.driver;
drv.s = settings->arrays.audio_driver;
driver_ctl(RARCH_DRIVER_CTL_FIND_INDEX, &drv);
i = drv.len;
i = (int)drv.len;
if (i >= 0)
current_audio = (const audio_driver_t*)audio_driver_find_handle(i);
@@ -824,7 +843,7 @@ bool audio_driver_find_driver(void)
{
unsigned d;
RARCH_ERR("Couldn't find any audio driver named \"%s\"\n",
settings->audio.driver);
settings->arrays.audio_driver);
RARCH_LOG_OUTPUT("Available audio drivers are:\n");
for (d = 0; audio_driver_find_handle(d); d++)
RARCH_LOG_OUTPUT("\t%s\n", audio_driver_find_ident(d));
@@ -884,9 +903,196 @@ bool audio_driver_get_devices_list(void **data)
return true;
}
bool audio_driver_mixer_extension_supported(const char *ext)
{
union string_list_elem_attr attr;
unsigned i;
bool ret = false;
struct string_list *str_list = string_list_new();
attr.i = 0;
#ifdef HAVE_STB_VORBIS
string_list_append(str_list, "ogg", attr);
#endif
string_list_append(str_list, "wav", attr);
for (i = 0; i < str_list->size; i++)
{
const char *str_ext = str_list->elems[i].data;
if (string_is_equal_noncase(str_ext, ext))
{
ret = true;
break;
}
}
string_list_free(str_list);
return ret;
}
static int audio_mixer_find_index(audio_mixer_sound_t *sound)
{
unsigned i;
for (i = 0; i < AUDIO_MIXER_MAX_STREAMS; i++)
{
audio_mixer_sound_t *handle = audio_mixer_streams[i].handle;
if (handle == sound)
return i;
}
return -1;
}
static void audio_mixer_play_stop_cb(audio_mixer_sound_t *sound, unsigned reason)
{
int idx = audio_mixer_find_index(sound);
switch (reason)
{
case AUDIO_MIXER_SOUND_FINISHED:
audio_mixer_destroy(sound);
if (idx >= 0)
{
unsigned i = (unsigned)idx;
#if 0
if (audio_mixer_streams[i].buf != NULL)
free(audio_mixer_streams[i].buf);
#endif
audio_mixer_streams[i].state = AUDIO_STREAM_STATE_NONE;
audio_mixer_streams[i].volume = 0.0f;
audio_mixer_streams[i].buf = NULL;
audio_mixer_streams[i].stop_cb = NULL;
audio_mixer_streams[i].handle = NULL;
audio_mixer_streams[i].voice = NULL;
audio_mixer_current_max_idx--;
}
break;
case AUDIO_MIXER_SOUND_STOPPED:
break;
case AUDIO_MIXER_SOUND_REPEATED:
break;
}
}
bool audio_driver_mixer_add_stream(audio_mixer_stream_params_t *params)
{
audio_mixer_voice_t *voice = NULL;
audio_mixer_sound_t *handle = NULL;
audio_mixer_stop_cb_t stop_cb = audio_mixer_play_stop_cb;
bool looped = false;
void *buf = NULL;
if (audio_mixer_current_max_idx >= AUDIO_MIXER_MAX_STREAMS)
return false;
if (params->state == AUDIO_STREAM_STATE_NONE)
return false;
buf = malloc(params->bufsize);
if (!buf)
return false;
memcpy(buf, params->buf, params->bufsize);
switch (params->type)
{
case AUDIO_MIXER_TYPE_WAV:
handle = audio_mixer_load_wav(buf, (int32_t)params->bufsize);
break;
case AUDIO_MIXER_TYPE_OGG:
handle = audio_mixer_load_ogg(buf, (int32_t)params->bufsize);
break;
case AUDIO_MIXER_TYPE_NONE:
free(buf);
return false;
}
if (!handle)
{
free(buf);
return false;
}
if (params->state == AUDIO_STREAM_STATE_PLAYING)
{
voice = audio_mixer_play(handle, looped, params->volume, stop_cb);
audio_set_bool(AUDIO_ACTION_MIXER, true);
}
else if (params->state == AUDIO_STREAM_STATE_PLAYING_LOOPED)
{
looped = true;
voice = audio_mixer_play(handle, looped, params->volume, stop_cb);
audio_set_bool(AUDIO_ACTION_MIXER, true);
}
audio_mixer_streams[audio_mixer_current_max_idx].buf = buf;
audio_mixer_streams[audio_mixer_current_max_idx].handle = handle;
audio_mixer_streams[audio_mixer_current_max_idx].voice = voice;
audio_mixer_streams[audio_mixer_current_max_idx].state = params->state;
audio_mixer_streams[audio_mixer_current_max_idx].volume = params->volume;
audio_mixer_streams[audio_mixer_current_max_idx].stop_cb = stop_cb;
audio_mixer_current_max_idx++;
return true;
}
static void audio_driver_mixer_remove_stream(unsigned i)
{
audio_mixer_sound_t *handle = audio_mixer_streams[i].handle;
audio_mixer_voice_t *voice = audio_mixer_streams[i].voice;
switch (audio_mixer_streams[i].state)
{
case AUDIO_STREAM_STATE_PLAYING:
if (voice)
audio_mixer_stop(voice);
if (handle)
audio_mixer_destroy(handle);
break;
case AUDIO_STREAM_STATE_PLAYING_LOOPED:
if (voice)
audio_mixer_stop(voice);
if (handle)
audio_mixer_destroy(handle);
break;
case AUDIO_STREAM_STATE_STOPPED:
if (handle)
audio_mixer_destroy(handle);
break;
case AUDIO_STREAM_STATE_NONE:
break;
}
audio_mixer_streams[i].state = AUDIO_STREAM_STATE_NONE;
audio_mixer_streams[i].volume = 0.0f;
audio_mixer_streams[i].stop_cb = NULL;
audio_mixer_streams[i].handle = NULL;
audio_mixer_streams[i].voice = NULL;
}
static void audio_driver_mixer_deinit(void)
{
unsigned i;
audio_set_bool(AUDIO_ACTION_MIXER, false);
for (i = 0; i < AUDIO_MIXER_MAX_STREAMS; i++)
audio_driver_mixer_remove_stream(i);
audio_mixer_current_max_idx = 0;
audio_mixer_done();
}
bool audio_driver_deinit(void)
{
audio_driver_mixer_deinit();
audio_driver_free_devices_list();
if (!audio_driver_deinit_internal())
return false;
@@ -926,7 +1132,7 @@ bool audio_driver_disable_callback(void)
void audio_driver_monitor_set_rate(void)
{
settings_t *settings = config_get_ptr();
double new_src_ratio = (double)settings->audio.out_rate /
double new_src_ratio = (double)settings->uints.audio_out_rate /
audio_driver_input;
audio_source_ratio_original = new_src_ratio;
@@ -951,37 +1157,50 @@ bool audio_driver_has_callback(void)
bool audio_driver_toggle_mute(void)
{
settings_t *settings = config_get_ptr();
if (!audio_driver_context_audio_data)
return false;
if (!audio_driver_active)
return false;
settings->audio.mute_enable = !settings->audio.mute_enable;
if (settings->audio.mute_enable)
command_event(CMD_EVENT_AUDIO_STOP, NULL);
else if (!command_event(CMD_EVENT_AUDIO_START, NULL))
{
audio_driver_active = false;
return false;
}
audio_driver_mute_enable = !audio_driver_mute_enable;
return true;
}
bool audio_driver_mixer_toggle_mute(void)
{
audio_driver_mixer_mute_enable = !audio_driver_mixer_mute_enable;
return true;
}
static INLINE bool audio_driver_alive(void)
{
if ( current_audio
&& current_audio->alive
&& audio_driver_context_audio_data)
return current_audio->alive(audio_driver_context_audio_data);
return false;
}
bool audio_driver_start(bool is_shutdown)
{
if (!current_audio || !current_audio->start
|| !audio_driver_context_audio_data)
return false;
return current_audio->start(audio_driver_context_audio_data, is_shutdown);
goto error;
if (!current_audio->start(audio_driver_context_audio_data, is_shutdown))
goto error;
return true;
error:
RARCH_ERR("%s\n",
msg_hash_to_str(MSG_FAILED_TO_START_AUDIO_DRIVER));
audio_driver_active = false;
return false;
}
bool audio_driver_stop(void)
{
if (!current_audio || !current_audio->stop
|| !audio_driver_context_audio_data)
return false;
if (!audio_driver_alive())
return false;
return current_audio->stop(audio_driver_context_audio_data);
}
@@ -991,15 +1210,6 @@ void audio_driver_unset_callback(void)
audio_callback.set_state = NULL;
}
bool audio_driver_alive(void)
{
if ( current_audio
&& current_audio->alive
&& audio_driver_context_audio_data)
return current_audio->alive(audio_driver_context_audio_data);
return false;
}
void audio_driver_frame_is_reverse(void)
{
/* We just rewound. Flush rewind audio buffer. */
@@ -1033,14 +1243,81 @@ void audio_driver_set_active(void)
audio_driver_active = true;
}
void audio_driver_unset_active(void)
{
audio_driver_active = false;
}
void audio_driver_destroy(void)
{
audio_driver_active = false;
audio_driver_data_own = false;
current_audio = NULL;
}
void audio_set_bool(enum audio_action action, bool val)
{
switch (action)
{
case AUDIO_ACTION_MIXER:
audio_mixer_active = val;
break;
case AUDIO_ACTION_NONE:
default:
break;
}
}
/**
* db_to_gain:
* @db : Decibels.
*
* Converts decibels to voltage gain.
*
* Returns: voltage gain value.
**/
#define db_to_gain(db) (powf(10.0f, (db) / 20.0f))
void audio_set_float(enum audio_action action, float val)
{
switch (action)
{
case AUDIO_ACTION_VOLUME_GAIN:
audio_driver_volume_gain = db_to_gain(val);
break;
case AUDIO_ACTION_MIXER_VOLUME_GAIN:
audio_driver_mixer_volume_gain = db_to_gain(val);
break;
case AUDIO_ACTION_RATE_CONTROL_DELTA:
audio_driver_rate_control_delta = val;
break;
case AUDIO_ACTION_NONE:
default:
break;
}
}
float *audio_get_float_ptr(enum audio_action action)
{
switch (action)
{
case AUDIO_ACTION_RATE_CONTROL_DELTA:
return &audio_driver_rate_control_delta;
case AUDIO_ACTION_NONE:
default:
break;
}
return NULL;
}
bool *audio_get_bool_ptr(enum audio_action action)
{
switch (action)
{
case AUDIO_ACTION_MIXER_MUTE_ENABLE:
return &audio_driver_mixer_mute_enable;
case AUDIO_ACTION_MUTE_ENABLE:
return &audio_driver_mute_enable;
case AUDIO_ACTION_NONE:
default:
break;
}
return NULL;
}
+45 -6
View File
@@ -22,6 +22,7 @@
#include <sys/types.h>
#include <boolean.h>
#include <audio/audio_mixer.h>
#include <retro_common_api.h>
RETRO_BEGIN_DECLS
@@ -33,6 +34,17 @@ RETRO_BEGIN_DECLS
#define AUDIO_MAX_RATIO 16
enum audio_action
{
AUDIO_ACTION_NONE = 0,
AUDIO_ACTION_RATE_CONTROL_DELTA,
AUDIO_ACTION_MIXER_MUTE_ENABLE,
AUDIO_ACTION_MUTE_ENABLE,
AUDIO_ACTION_VOLUME_GAIN,
AUDIO_ACTION_MIXER_VOLUME_GAIN,
AUDIO_ACTION_MIXER
};
typedef struct audio_driver
{
/* Creates and initializes handle to audio driver.
@@ -67,8 +79,7 @@ typedef struct audio_driver
* Unless said otherwise with set_nonblock_state(), all writes
* are blocking, and it should block till it has written all frames.
*/
ssize_t (*write)(void *data, const void *buf, size_t size,
bool is_perfcnt_enable);
ssize_t (*write)(void *data, const void *buf, size_t size);
/* Temporarily pauses the audio driver. */
bool (*stop)(void *data);
@@ -116,6 +127,24 @@ typedef struct audio_driver
size_t (*buffer_size)(void *data);
} audio_driver_t;
enum audio_mixer_state
{
AUDIO_STREAM_STATE_NONE = 0,
AUDIO_STREAM_STATE_STOPPED,
AUDIO_STREAM_STATE_PLAYING,
AUDIO_STREAM_STATE_PLAYING_LOOPED
};
typedef struct audio_mixer_stream_params
{
float volume;
enum audio_mixer_type type;
enum audio_mixer_state state;
void *buf;
size_t bufsize;
audio_mixer_stop_cb_t cb;
} audio_mixer_stream_params_t;
void audio_driver_destroy_data(void);
void audio_driver_set_own_driver(void);
@@ -124,8 +153,6 @@ void audio_driver_unset_own_driver(void);
void audio_driver_set_active(void);
void audio_driver_unset_active(void);
void audio_driver_destroy(void);
void audio_driver_deinit_resampler(void);
@@ -175,7 +202,7 @@ void audio_driver_sample_rewind(int16_t left, int16_t right);
size_t audio_driver_sample_batch_rewind(const int16_t *data, size_t frames);
void audio_driver_set_volume_gain(float gain);
bool audio_driver_mixer_extension_supported(const char *ext);
void audio_driver_dsp_filter_free(void);
@@ -212,16 +239,27 @@ void audio_driver_unset_callback(void);
void audio_driver_frame_is_reverse(void);
bool audio_driver_alive(void);
void audio_set_float(enum audio_action action, float val);
void audio_set_bool(enum audio_action action, bool val);
void audio_unset_bool(enum audio_action action, bool val);
float *audio_get_float_ptr(enum audio_action action);
bool *audio_get_bool_ptr(enum audio_action action);
bool audio_driver_deinit(void);
bool audio_driver_init(void);
bool audio_driver_mixer_add_stream(audio_mixer_stream_params_t *params);
extern audio_driver_t audio_rsound;
extern audio_driver_t audio_oss;
extern audio_driver_t audio_alsa;
extern audio_driver_t audio_alsathread;
extern audio_driver_t audio_tinyalsa;
extern audio_driver_t audio_roar;
extern audio_driver_t audio_openal;
extern audio_driver_t audio_opensl;
@@ -230,6 +268,7 @@ extern audio_driver_t audio_sdl;
extern audio_driver_t audio_xa;
extern audio_driver_t audio_pulse;
extern audio_driver_t audio_dsound;
extern audio_driver_t audio_wasapi;
extern audio_driver_t audio_coreaudio;
extern audio_driver_t audio_xenon360;
extern audio_driver_t audio_ps3;
+2 -4
View File
@@ -228,8 +228,7 @@ static bool audio_thread_use_float(void *data)
return thr->use_float;
}
static ssize_t audio_thread_write(void *data, const void *buf, size_t size,
bool is_perfcnt_enable)
static ssize_t audio_thread_write(void *data, const void *buf, size_t size)
{
ssize_t ret;
audio_thread_t *thr = (audio_thread_t*)data;
@@ -237,8 +236,7 @@ static ssize_t audio_thread_write(void *data, const void *buf, size_t size,
if (!thr)
return 0;
ret = thr->driver->write(thr->driver_data, buf, size,
is_perfcnt_enable);
ret = thr->driver->write(thr->driver_data, buf, size);
if (ret < 0)
{
+71 -65
View File
@@ -29,6 +29,7 @@ typedef struct alsa
snd_pcm_t *pcm;
size_t buffer_size;
bool nonblock;
unsigned int frame_bits;
bool has_float;
bool can_pause;
bool is_paused;
@@ -46,11 +47,11 @@ static bool find_float_format(snd_pcm_t *pcm, void *data)
if (snd_pcm_hw_params_test_format(pcm, params, SND_PCM_FORMAT_FLOAT) == 0)
{
RARCH_LOG("ALSA: Using floating point format.\n");
RARCH_LOG("[ALSA]: Using floating point format.\n");
return true;
}
RARCH_LOG("ALSA: Using signed 16-bit format.\n");
RARCH_LOG("[ALSA]: Using signed 16-bit format.\n");
return false;
}
@@ -92,6 +93,9 @@ static void *alsa_init(const char *device, unsigned rate, unsigned latency,
alsa->pcm, params, SND_PCM_ACCESS_RW_INTERLEAVED) < 0)
goto error;
/* channels hardcoded to 2 for now */
alsa->frame_bits = snd_pcm_format_physical_width(format) * 2;
if (snd_pcm_hw_params_set_format(alsa->pcm, params, format) < 0)
goto error;
@@ -122,17 +126,17 @@ static void *alsa_init(const char *device, unsigned rate, unsigned latency,
if (snd_pcm_hw_params_get_period_size(params, &buffer_size, NULL))
snd_pcm_hw_params_get_period_size_min(params, &buffer_size, NULL);
RARCH_LOG("ALSA: Period size: %d frames\n", (int)buffer_size);
RARCH_LOG("[ALSA]: Period size: %d frames\n", (int)buffer_size);
if (snd_pcm_hw_params_get_buffer_size(params, &buffer_size))
snd_pcm_hw_params_get_buffer_size_max(params, &buffer_size);
RARCH_LOG("ALSA: Buffer size: %d frames\n", (int)buffer_size);
RARCH_LOG("[ALSA]: Buffer size: %d frames\n", (int)buffer_size);
alsa->buffer_size = snd_pcm_frames_to_bytes(alsa->pcm, buffer_size);
alsa->can_pause = snd_pcm_hw_params_can_pause(params);
RARCH_LOG("ALSA: Can pause: %s.\n", alsa->can_pause ? "yes" : "no");
RARCH_LOG("[ALSA]: Can pause: %s.\n", alsa->can_pause ? "yes" : "no");
if (snd_pcm_sw_params_malloc(&sw_params) < 0)
goto error;
@@ -153,7 +157,7 @@ static void *alsa_init(const char *device, unsigned rate, unsigned latency,
return alsa;
error:
RARCH_ERR("ALSA: Failed to initialize...\n");
RARCH_ERR("[ALSA]: Failed to initialize...\n");
if (params)
snd_pcm_hw_params_free(params);
@@ -173,74 +177,82 @@ error:
return NULL;
}
static ssize_t alsa_write(void *data, const void *buf_, size_t size_,
bool is_perfcnt_enable)
#define BYTES_TO_FRAMES(bytes, frame_bits) ((bytes) * 8 / frame_bits)
#define FRAMES_TO_BYTES(frames, frame_bits) ((frames) * frame_bits / 8)
static ssize_t alsa_write(void *data, const void *buf_, size_t size_)
{
alsa_t *alsa = (alsa_t*)data;
const uint8_t *buf = (const uint8_t*)buf_;
bool eagain_retry = true;
snd_pcm_sframes_t written = 0;
snd_pcm_sframes_t size = snd_pcm_bytes_to_frames(alsa->pcm, size_);
snd_pcm_sframes_t size = BYTES_TO_FRAMES(size_, alsa->frame_bits);
size_t frames_size = alsa->has_float ? sizeof(float) : sizeof(int16_t);
while (size)
if (alsa->nonblock)
{
snd_pcm_sframes_t frames;
if (!alsa->nonblock)
while (size)
{
snd_pcm_sframes_t frames = snd_pcm_writei(alsa->pcm, buf, size);
if (frames == -EPIPE || frames == -EINTR || frames == -ESTRPIPE)
{
if (snd_pcm_recover(alsa->pcm, frames, 1) < 0)
return -1;
break;
}
else if (frames == -EAGAIN)
break;
else if (frames < 0)
return -1;
written += frames;
buf += (frames << 1) * frames_size;
size -= frames;
}
}
else
{
bool eagain_retry = true;
while (size)
{
snd_pcm_sframes_t frames;
int rc = snd_pcm_wait(alsa->pcm, -1);
if (rc == -EPIPE || rc == -ESTRPIPE || rc == -EINTR)
{
if (snd_pcm_recover(alsa->pcm, rc, 1) < 0)
{
RARCH_ERR("[ALSA]: (#1) Failed to recover from error (%s)\n",
snd_strerror(rc));
return -1;
continue;
}
frames = snd_pcm_writei(alsa->pcm, buf, size);
if (frames == -EPIPE || frames == -EINTR || frames == -ESTRPIPE)
{
if (snd_pcm_recover(alsa->pcm, frames, 1) < 0)
return -1;
break;
}
else if (frames == -EAGAIN)
{
/* Definitely not supposed to happen. */
if (eagain_retry)
{
eagain_retry = false;
continue;
}
continue;
break;
}
}
frames = snd_pcm_writei(alsa->pcm, buf, size);
if (frames == -EPIPE || frames == -EINTR || frames == -ESTRPIPE)
{
if (snd_pcm_recover(alsa->pcm, frames, 1) < 0)
{
RARCH_ERR("[ALSA]: (#2) Failed to recover from error (%s)\n",
snd_strerror(frames));
else if (frames < 0)
return -1;
}
break;
written += frames;
buf += (frames << 1) * frames_size;
size -= frames;
}
else if (frames == -EAGAIN && !alsa->nonblock)
{
/* Definitely not supposed to happen. */
RARCH_WARN("[ALSA]: poll() was signaled, but EAGAIN returned from write.\n"
"Your ALSA driver might be subtly broken.\n");
if (eagain_retry)
{
eagain_retry = false;
continue;
}
return written;
}
else if (frames == -EAGAIN) /* Expected if we're running nonblock. */
return written;
else if (frames < 0)
{
RARCH_ERR("[ALSA]: Unknown error occurred (%s).\n",
snd_strerror(frames));
return -1;
}
written += frames;
buf += (frames << 1) *
(alsa->has_float ? sizeof(float) : sizeof(int16_t));
size -= frames;
}
return written;
@@ -318,19 +330,13 @@ static void alsa_free(void *data)
static size_t alsa_write_avail(void *data)
{
alsa_t *alsa = (alsa_t*)data;
alsa_t *alsa = (alsa_t*)data;
snd_pcm_sframes_t avail = snd_pcm_avail(alsa->pcm);
if (avail < 0)
{
#if 0
RARCH_WARN("[ALSA]: snd_pcm_avail() failed: %s\n",
snd_strerror(avail));
#endif
return alsa->buffer_size;
}
return snd_pcm_frames_to_bytes(alsa->pcm, avail);
return FRAMES_TO_BYTES(avail, alsa->frame_bits);
}
static size_t alsa_buffer_size(void *data)
@@ -364,7 +370,7 @@ static void *alsa_device_list_new(void *data)
/* description of device IOID - input / output identifcation
* ("Input" or "Output"), NULL means both) */
if (!io || string_is_equal(io,"Output"))
if (!io || (string_is_equal_fast(io, "Output", 6)))
string_list_append(s, name, attr);
if (name)
+2 -2
View File
@@ -17,6 +17,7 @@
#define ALSA_PCM_NEW_HW_PARAMS_API
#define ALSA_PCM_NEW_SW_PARAMS_API
#include <sys/asoundlib.h>
#include <retro_math.h>
#include "../audio_driver.h"
@@ -219,8 +220,7 @@ static int check_pcm_status(void *data, int channel_type)
}
static ssize_t alsa_qsa_write(void *data, const void *buf, size_t size,
bool is_perfcnt_enable)
static ssize_t alsa_qsa_write(void *data, const void *buf, size_t size)
{
alsa_t *alsa = (alsa_t*)data;
snd_pcm_sframes_t written = 0;
+2 -3
View File
@@ -243,8 +243,7 @@ error:
return NULL;
}
static ssize_t alsa_thread_write(void *data, const void *buf, size_t size,
bool is_perfcnt_enable)
static ssize_t alsa_thread_write(void *data, const void *buf, size_t size)
{
alsa_thread_t *alsa = (alsa_thread_t*)data;
@@ -371,7 +370,7 @@ static void *alsa_device_list_new(void *data)
/* description of device IOID - input / output identifcation
* ("Input" or "Output"), NULL means both) */
if (!io || string_is_equal(io,"Output"))
if (!io || (string_is_equal_fast(io,"Output", 6)))
string_list_append(s, name, attr);
if (name)
+8 -11
View File
@@ -94,13 +94,11 @@ static OSStatus audio_write_cb(void *userdata,
(void)bus_number;
(void)number_frames;
if (!io_data)
return noErr;
if (io_data->mNumberBuffers != 1)
if (!io_data || io_data->mNumberBuffers != 1)
return noErr;
write_avail = io_data->mBuffers[0].mDataByteSize;
outbuf = io_data->mBuffers[0].mData;
outbuf = io_data->mBuffers[0].mData;
slock_lock(dev->lock);
@@ -261,7 +259,7 @@ static void *coreaudio_init(const char *device,
choose_output_device(dev, device);
#endif
dev->dev_alive = true;
dev->dev_alive = true;
/* Set audio format */
stream_desc.mSampleRate = rate;
@@ -317,11 +315,11 @@ static void *coreaudio_init(const char *device,
if (AudioUnitInitialize(dev->dev) != noErr)
goto error;
fifo_size = (latency * (*new_rate)) / 1000;
fifo_size *= 2 * sizeof(float);
dev->buffer_size = fifo_size;
fifo_size = (latency * (*new_rate)) / 1000;
fifo_size *= 2 * sizeof(float);
dev->buffer_size = fifo_size;
dev->buffer = fifo_new(fifo_size);
dev->buffer = fifo_new(fifo_size);
if (!dev->buffer)
goto error;
@@ -339,8 +337,7 @@ error:
return NULL;
}
static ssize_t coreaudio_write(void *data, const void *buf_, size_t size,
bool is_perfcnt_enable)
static ssize_t coreaudio_write(void *data, const void *buf_, size_t size)
{
coreaudio_t *dev = (coreaudio_t*)data;
const uint8_t *buf = (const uint8_t*)buf_;
+2 -10
View File
@@ -17,11 +17,10 @@
#include <string.h>
#include <malloc.h>
#include <retro_miscellaneous.h>
#include <retro_timers.h>
#include "../audio_driver.h"
#include "../../performance_counters.h"
typedef struct
{
bool nonblocking;
@@ -163,13 +162,11 @@ static void ctr_csnd_audio_free(void *data)
free(ctr);
}
static ssize_t ctr_csnd_audio_write(void *data, const void *buf, size_t size,
bool is_perfcnt_enable)
static ssize_t ctr_csnd_audio_write(void *data, const void *buf, size_t size)
{
int i;
uint32_t samples_played = 0;
uint64_t current_tick = 0;
static struct retro_perf_counter ctraudio_f = {0};
const uint16_t *src = buf;
ctr_csnd_audio_t *ctr = (ctr_csnd_audio_t*)data;
@@ -178,9 +175,6 @@ static ssize_t ctr_csnd_audio_write(void *data, const void *buf, size_t size,
(void)samples_played;
(void)current_tick;
performance_counter_init(ctraudio_f, "ctraudio_f");
performance_counter_start_plus(is_perfcnt_enable, ctraudio_f);
ctr_csnd_audio_update_playpos(ctr);
if((((ctr->playpos - ctr->pos) & CTR_CSND_AUDIO_COUNT_MASK) < (CTR_CSND_AUDIO_COUNT >> 2)) ||
@@ -211,8 +205,6 @@ static ssize_t ctr_csnd_audio_write(void *data, const void *buf, size_t size,
GSPGPU_FlushDataCache(ctr->l, CTR_CSND_AUDIO_SIZE);
GSPGPU_FlushDataCache(ctr->r, CTR_CSND_AUDIO_SIZE);
performance_counter_stop_plus(is_perfcnt_enable, ctraudio_f);
return size;
}
+1 -9
View File
@@ -18,7 +18,6 @@
#include <malloc.h>
#include "../audio_driver.h"
#include "../../performance_counters.h"
#include "../../ctr/ctr_debug.h"
typedef struct
@@ -93,11 +92,9 @@ static void ctr_dsp_audio_free(void *data)
ndspExit();
}
static ssize_t ctr_dsp_audio_write(void *data, const void *buf, size_t size,
bool is_perfcnt_enable)
static ssize_t ctr_dsp_audio_write(void *data, const void *buf, size_t size)
{
u32 pos;
static struct retro_perf_counter ctraudio_dsp_f = {0};
ctr_dsp_audio_t * ctr = (ctr_dsp_audio_t*)data;
uint32_t sample_pos = ndspChnGetSamplePos(ctr->channel);
@@ -117,9 +114,6 @@ static ssize_t ctr_dsp_audio_write(void *data, const void *buf, size_t size,
}
}
performance_counter_init(ctraudio_dsp_f, "ctraudio_dsp_f");
performance_counter_start_plus(is_perfcnt_enable, ctraudio_dsp_f);
pos = ctr->pos << 2;
if((pos + size) > CTR_DSP_AUDIO_SIZE)
@@ -141,8 +135,6 @@ static ssize_t ctr_dsp_audio_write(void *data, const void *buf, size_t size,
ctr->pos += size >> 2;
ctr->pos &= CTR_DSP_AUDIO_COUNT_MASK;
performance_counter_stop_plus(is_perfcnt_enable, ctraudio_dsp_f);
return size;
}
+2 -2
View File
@@ -31,6 +31,7 @@
#include <retro_inline.h>
#include <retro_miscellaneous.h>
#include <retro_timers.h>
#include <rthreads/rthreads.h>
#include <queues/fifo_queue.h>
@@ -426,8 +427,7 @@ static void dsound_set_nonblock_state(void *data, bool state)
ds->nonblock = state;
}
static ssize_t dsound_write(void *data, const void *buf_, size_t size,
bool is_perfcnt_enable)
static ssize_t dsound_write(void *data, const void *buf_, size_t size)
{
size_t written = 0;
dsound_t *ds = (dsound_t*)data;
+1 -2
View File
@@ -116,8 +116,7 @@ static INLINE void copy_swapped(uint32_t * restrict dst,
}while(--size);
}
static ssize_t gx_audio_write(void *data, const void *buf_, size_t size,
bool is_perfcnt_enable)
static ssize_t gx_audio_write(void *data, const void *buf_, size_t size)
{
size_t frames = size >> 2;
const uint32_t *buf = buf_;
+13 -17
View File
@@ -13,18 +13,16 @@
* If not, see <http://www.gnu.org/licenses/>.
*/
#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <jack/jack.h>
#include <jack/types.h>
#include <jack/ringbuffer.h>
#include <boolean.h>
#include <retro_assert.h>
#include <rthreads/rthreads.h>
#include "../audio_driver.h"
@@ -75,7 +73,6 @@ static int process_cb(jack_nframes_t nframes, void *data)
jack_nframes_t f;
jack_default_audio_sample_t *out = (jack_default_audio_sample_t*)jack_port_get_buffer(jd->ports[i], nframes);
retro_assert(out);
jack_ringbuffer_read(jd->buffer[i], (char*)out, min_avail * sizeof(jack_default_audio_sample_t));
for (f = min_avail; f < nframes; f++)
@@ -106,7 +103,7 @@ static int parse_ports(char **dest_ports, const char **jports)
char *save = NULL;
int parsed = 0;
settings_t *settings = config_get_ptr();
char *audio_device_cpy = strdup(settings->audio.device);
char *audio_device_cpy = strdup(settings->arrays.audio_device);
const char *con = strtok_r(audio_device_cpy, ",", &save);
if (con)
@@ -136,12 +133,12 @@ static size_t find_buffersize(jack_t *jd, int latency, unsigned out_rate)
jack_latency = range.max;
}
RARCH_LOG("JACK: Jack latency is %d frames.\n", jack_latency);
RARCH_LOG("[JACK]: Jack latency is %d frames.\n", jack_latency);
buffer_frames = frames - jack_latency;
buffer_frames = frames - jack_latency;
min_buffer_frames = jack_get_buffer_size(jd->client) * 2;
RARCH_LOG("JACK: Minimum buffer size is %d frames.\n", min_buffer_frames);
RARCH_LOG("[JACK]: Minimum buffer size is %d frames.\n", min_buffer_frames);
if (buffer_frames < min_buffer_frames)
buffer_frames = min_buffer_frames;
@@ -181,27 +178,27 @@ static void *ja_init(const char *device, unsigned rate, unsigned latency,
jd->ports[1] = jack_port_register(jd->client, "right", JACK_DEFAULT_AUDIO_TYPE, JackPortIsOutput, 0);
if (jd->ports[0] == NULL || jd->ports[1] == NULL)
{
RARCH_ERR("Failed to register ports.\n");
RARCH_ERR("[JACK]: Failed to register ports.\n");
goto error;
}
jports = jack_get_ports(jd->client, NULL, NULL, JackPortIsPhysical | JackPortIsInput);
if (jports == NULL)
{
RARCH_ERR("Failed to get ports.\n");
RARCH_ERR("[JACK]: Failed to get ports.\n");
goto error;
}
bufsize = find_buffersize(jd, latency, *new_rate);
bufsize = find_buffersize(jd, latency, *new_rate);
jd->buffer_size = bufsize;
RARCH_LOG("JACK: Internal buffer size: %d frames.\n", (int)(bufsize / sizeof(jack_default_audio_sample_t)));
RARCH_LOG("[JACK]: Internal buffer size: %d frames.\n", (int)(bufsize / sizeof(jack_default_audio_sample_t)));
for (i = 0; i < 2; i++)
{
jd->buffer[i] = jack_ringbuffer_create(bufsize);
if (jd->buffer[i] == NULL)
{
RARCH_ERR("Failed to create buffers.\n");
RARCH_ERR("[JACK]: Failed to create buffers.\n");
goto error;
}
}
@@ -210,7 +207,7 @@ static void *ja_init(const char *device, unsigned rate, unsigned latency,
if (jack_activate(jd->client) < 0)
{
RARCH_ERR("Failed to activate Jack...\n");
RARCH_ERR("[JACK]: Failed to activate Jack...\n");
goto error;
}
@@ -218,7 +215,7 @@ static void *ja_init(const char *device, unsigned rate, unsigned latency,
{
if (jack_connect(jd->client, jack_port_name(jd->ports[i]), dest_ports[i]))
{
RARCH_ERR("Failed to connect to Jack port.\n");
RARCH_ERR("[JACK]: Failed to connect to Jack port.\n");
goto error;
}
}
@@ -292,8 +289,7 @@ static size_t write_buffer(jack_t *jd, const float *buf, size_t size)
return written * sizeof(float) * 2;
}
static ssize_t ja_write(void *data, const void *buf, size_t size,
bool is_perfcnt_enable)
static ssize_t ja_write(void *data, const void *buf, size_t size)
{
jack_t *jd = (jack_t*)data;
+1 -2
View File
@@ -35,8 +35,7 @@ static void null_audio_free(void *data)
(void)data;
}
static ssize_t null_audio_write(void *data, const void *buf, size_t size,
bool is_perfcnt_enable)
static ssize_t null_audio_write(void *data, const void *buf, size_t size)
{
(void)data;
(void)buf;
+2 -2
View File
@@ -31,6 +31,7 @@
#endif
#include <retro_miscellaneous.h>
#include <retro_timers.h>
#include "../audio_driver.h"
#include "../../verbosity.h"
@@ -173,8 +174,7 @@ static size_t al_fill_internal_buf(al_t *al, const void *buf, size_t size)
return read_size;
}
static ssize_t al_write(void *data, const void *buf_, size_t size,
bool is_perfcnt_enable)
static ssize_t al_write(void *data, const void *buf_, size_t size)
{
al_t *al = (al_t*)data;
const uint8_t *buf = (const uint8_t*)buf_;
+4 -5
View File
@@ -116,7 +116,7 @@ static void *sl_init(const char *device, unsigned rate, unsigned latency,
if (!sl)
goto error;
RARCH_LOG("[SLES]: Requested audio latency: %u ms.", latency);
RARCH_LOG("[OpenSL]: Requested audio latency: %u ms.", latency);
GOTO_IF_FAIL(slCreateEngine(&sl->engine_object, 0, NULL, 0, NULL, NULL));
GOTO_IF_FAIL(SLObjectItf_Realize(sl->engine_object, SL_BOOLEAN_FALSE));
@@ -144,7 +144,7 @@ static void *sl_init(const char *device, unsigned rate, unsigned latency,
for (i = 0; i < sl->buf_count; i++)
sl->buffer[i] = sl->buffer_chunk + i * sl->buf_size;
RARCH_LOG("[SLES]: Setting audio latency: Block size = %u, Blocks = %u, Total = %u ...\n",
RARCH_LOG("[OpenSL]: Setting audio latency: Block size = %u, Blocks = %u, Total = %u ...\n",
sl->buf_size, sl->buf_count, sl->buf_size * sl->buf_count);
fmt_pcm.formatType = SL_DATAFORMAT_PCM;
@@ -192,7 +192,7 @@ static void *sl_init(const char *device, unsigned rate, unsigned latency,
return sl;
error:
RARCH_ERR("Couldn't initialize OpenSL ES driver, error code: [%d].\n", (int)res);
RARCH_ERR("[OpenSL]: Couldn't initialize OpenSL ES driver, error code: [%d].\n", (int)res);
sl_free(sl);
return NULL;
}
@@ -230,8 +230,7 @@ static bool sl_start(void *data, bool is_shutdown)
}
static ssize_t sl_write(void *data, const void *buf_, size_t size,
bool is_perfcnt_enable)
static ssize_t sl_write(void *data, const void *buf_, size_t size)
{
sl_t *sl = (sl_t*)data;
size_t written = 0;
+9 -6
View File
@@ -97,8 +97,7 @@ error:
return NULL;
}
static ssize_t oss_write(void *data, const void *buf, size_t size,
bool is_perfcnt_enable)
static ssize_t oss_write(void *data, const void *buf, size_t size)
{
ssize_t ret;
int *fd = (int*)data;
@@ -121,7 +120,9 @@ static bool oss_stop(void *data)
{
int *fd = (int*)data;
ioctl(*fd, SNDCTL_DSP_RESET, 0);
if (ioctl(*fd, SNDCTL_DSP_RESET, 0) < 0)
return false;
oss_is_paused = true;
return true;
}
@@ -156,7 +157,9 @@ static void oss_free(void *data)
{
int *fd = (int*)data;
ioctl(*fd, SNDCTL_DSP_RESET, 0);
if (ioctl(*fd, SNDCTL_DSP_RESET, 0) < 0)
return;
close(*fd);
free(fd);
}
@@ -168,7 +171,7 @@ static size_t oss_write_avail(void *data)
if (ioctl(*fd, SNDCTL_DSP_GETOSPACE, &info) < 0)
{
RARCH_ERR("SNDCTL_DSP_GETOSPACE failed ...\n");
RARCH_ERR("[OSS]: SNDCTL_DSP_GETOSPACE failed ...\n");
return 0;
}
@@ -182,7 +185,7 @@ static size_t oss_buffer_size(void *data)
if (ioctl(*fd, SNDCTL_DSP_GETOSPACE, &info) < 0)
{
RARCH_ERR("SNDCTL_DSP_GETOSPACE failed ...\n");
RARCH_ERR("[OSS]: SNDCTL_DSP_GETOSPACE failed ...\n");
return 1; /* Return something non-zero to avoid SIGFPE. */
}
+1 -2
View File
@@ -146,8 +146,7 @@ static void *ps3_audio_init(const char *device,
return data;
}
static ssize_t ps3_audio_write(void *data, const void *buf, size_t size,
bool is_perfcnt_enable)
static ssize_t ps3_audio_write(void *data, const void *buf, size_t size)
{
ps3_audio_t *aud = data;
+21 -38
View File
@@ -184,14 +184,12 @@ static void psp_audio_free(void *data)
free(psp);
}
static ssize_t psp_audio_write(void *data, const void *buf, size_t size,
bool is_perfcnt_enable)
static ssize_t psp_audio_write(void *data, const void *buf, size_t size)
{
psp_audio_t* psp = (psp_audio_t*)data;
uint16_t write_pos = psp->write_pos;
uint16_t sampleCount = size / sizeof(uint32_t);
#ifdef VITA
if (psp->nonblocking)
{
if (AUDIO_BUFFER_SIZE - ((uint16_t)
@@ -199,12 +197,13 @@ static ssize_t psp_audio_write(void *data, const void *buf, size_t size,
return 0;
}
#ifdef VITA
while (AUDIO_BUFFER_SIZE - ((uint16_t)
(psp->write_pos - psp->read_pos) & AUDIO_BUFFER_SIZE_MASK) < size){
(psp->write_pos - psp->read_pos) & AUDIO_BUFFER_SIZE_MASK) < size)
sceKernelWaitLwCond((struct SceKernelLwCondWork*)&psp->cond, 0);
}
sceKernelLockLwMutex((struct SceKernelLwMutexWork*)&psp->lock, 1, 0);
#endif
if((write_pos + sampleCount) > AUDIO_BUFFER_SIZE)
{
@@ -220,36 +219,13 @@ static ssize_t psp_audio_write(void *data, const void *buf, size_t size,
write_pos += sampleCount;
write_pos &= AUDIO_BUFFER_SIZE_MASK;
psp->write_pos = write_pos;
#ifdef VITA
sceKernelUnlockLwMutex((struct SceKernelLwMutexWork*)&psp->lock, 1);
return size;
#else
#if 0
if (psp->nonblocking)
{
/* TODO */
}
#endif
if((write_pos + sampleCount) > AUDIO_BUFFER_SIZE)
{
memcpy(psp->buffer + write_pos, buf,
(AUDIO_BUFFER_SIZE - write_pos) * sizeof(uint32_t));
memcpy(psp->buffer, (uint32_t*) buf +
(AUDIO_BUFFER_SIZE - write_pos),
(write_pos + sampleCount - AUDIO_BUFFER_SIZE) * sizeof(uint32_t));
}
else
memcpy(psp->buffer + write_pos, buf, size);
write_pos += sampleCount;
write_pos &= AUDIO_BUFFER_SIZE_MASK;
psp->write_pos = write_pos;
return sampleCount;
return sampleCount;
#endif
}
@@ -268,6 +244,9 @@ static bool psp_audio_stop(void *data)
SceUInt timeout = 100000;
psp_audio_t* psp = (psp_audio_t*)data;
if(psp && !psp->running)
return true;
info.size = sizeof(SceKernelThreadInfo);
if (sceKernelGetThreadInfo(
@@ -290,6 +269,9 @@ static bool psp_audio_start(void *data, bool is_shutdown)
{
SceKernelThreadInfo info;
psp_audio_t* psp = (psp_audio_t*)data;
if(psp && psp->running)
return true;
info.size = sizeof(SceKernelThreadInfo);
@@ -322,20 +304,21 @@ static bool psp_audio_use_float(void *data)
static size_t psp_write_avail(void *data)
{
psp_audio_t* psp = (psp_audio_t*)data;
#ifdef VITA
size_t val;
psp_audio_t* psp = (psp_audio_t*)data;
#ifdef VITA
sceKernelLockLwMutex((struct SceKernelLwMutexWork*)&psp->lock, 1, 0);
#endif
val = AUDIO_BUFFER_SIZE - ((uint16_t)
(psp->write_pos - psp->read_pos) & AUDIO_BUFFER_SIZE_MASK);
#ifdef VITA
sceKernelUnlockLwMutex((struct SceKernelLwMutexWork*)&psp->lock, 1);
return val;
#else
/* TODO */
return AUDIO_BUFFER_SIZE - ((uint16_t)
(psp->write_pos - psp->read_pos) & AUDIO_BUFFER_SIZE_MASK);
#endif
return val;
}
static size_t psp_buffer_size(void *data)
+1 -2
View File
@@ -236,8 +236,7 @@ error:
return NULL;
}
static ssize_t pulse_write(void *data, const void *buf_, size_t size,
bool is_perfcnt_enable)
static ssize_t pulse_write(void *data, const void *buf_, size_t size)
{
pa_t *pa = (pa_t*)data;
const uint8_t *buf = (const uint8_t*)buf_;
+1 -2
View File
@@ -58,8 +58,7 @@ static void *ra_init(const char *device, unsigned rate, unsigned latency,
return roar;
}
static ssize_t ra_write(void *data, const void *buf, size_t size,
bool is_perfcnt_enable)
static ssize_t ra_write(void *data, const void *buf, size_t size)
{
int err;
size_t written = 0;
+1 -2
View File
@@ -102,8 +102,7 @@ error:
return NULL;
}
static ssize_t rs_write(void *data, const void *buf, size_t size,
bool is_perfcnt_enable)
static ssize_t rs_write(void *data, const void *buf, size_t size)
{
rsd_t *rsd = (rsd_t*)data;
+1 -2
View File
@@ -51,8 +51,7 @@ static void *rwebaudio_init(const char *device, unsigned rate, unsigned latency,
return data;
}
static ssize_t rwebaudio_write(void *data, const void *buf, size_t size,
bool is_perfcnt_enable)
static ssize_t rwebaudio_write(void *data, const void *buf, size_t size)
{
(void)data;
return RWebAudioWrite(buf, size);
+11 -8
View File
@@ -26,6 +26,7 @@
#include <rthreads/rthreads.h>
#include <queues/fifo_queue.h>
#include <retro_inline.h>
#include <retro_math.h>
#include "../audio_driver.h"
#include "../../verbosity.h"
@@ -96,7 +97,7 @@ static void *sdl_audio_init(const char *device,
* carry approximately half of the latency.
*
* SDL double buffers audio and we do as well. */
frames = find_num_frames(rate, latency / 4);
frames = find_num_frames(rate, latency / 4);
spec.freq = rate;
spec.format = AUDIO_S16SYS;
@@ -107,9 +108,8 @@ static void *sdl_audio_init(const char *device,
if (SDL_OpenAudio(&spec, &out) < 0)
{
RARCH_ERR("Failed to open SDL audio: %s\n", SDL_GetError());
free(sdl);
return 0;
RARCH_ERR("[SDL audio]: Failed to open SDL audio: %s\n", SDL_GetError());
goto error;
}
*new_rate = out.freq;
@@ -119,7 +119,7 @@ static void *sdl_audio_init(const char *device,
sdl->cond = scond_new();
#endif
RARCH_LOG("SDL audio: Requested %u ms latency, got %d ms\n",
RARCH_LOG("[SDL audio]: Requested %u ms latency, got %d ms\n",
latency, (int)(out.samples * 4 * 1000 / (*new_rate)));
/* Create a buffer twice as big as needed and prefill the buffer. */
@@ -135,12 +135,15 @@ static void *sdl_audio_init(const char *device,
SDL_PauseAudio(0);
return sdl;
error:
free(sdl);
return NULL;
}
static ssize_t sdl_audio_write(void *data, const void *buf, size_t size,
bool is_perfcnt_enable)
static ssize_t sdl_audio_write(void *data, const void *buf, size_t size)
{
ssize_t ret = 0;
ssize_t ret = 0;
sdl_audio_t *sdl = (sdl_audio_t*)data;
if (sdl->nonblock)
File diff suppressed because it is too large. Load diff
+993
View File
@@ -0,0 +1,993 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2011-2017 - Daniel De Matteis
*
* RetroArch is free software: you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Found-
* ation, either version 3 of the License, or (at your option) any later version.
*
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with RetroArch.
* If not, see <http://www.gnu.org/licenses/>.
*/
#include <stdlib.h>
#ifdef _WIN32_WINNT
#undef _WIN32_WINNT
#endif
#define _WIN32_WINNT 0x0600
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <winerror.h>
#include <initguid.h>
#include <mmdeviceapi.h>
#include <mmreg.h>
#include <audioclient.h>
#include <propidl.h>
#include <lists/string_list.h>
#include <queues/fifo_queue.h>
#include "../audio_driver.h"
#include "../../verbosity.h"
#include "../../configuration.h"
DEFINE_PROPERTYKEY(PKEY_Device_FriendlyName, 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 14); /* DEVPROP_TYPE_STRING */
#define WASAPI_WARN(bool_exp, err_str, warn_exp)\
if (!(bool_exp)) {\
wasapi_warn(err_str);\
warn_exp; }
#define WASAPI_CHECK(bool_exp, err_str, err_exp)\
if (!(bool_exp)) {\
wasapi_err(err_str);\
err_exp; }
#define WASAPI_HR_CHECK(hr, fun_str, err_exp)\
if (FAILED(hr)) {\
wasapi_com_err(fun_str, hr);\
err_exp; }
#define WASAPI_HR_WARN(hr, fun_str, warn_exp)\
if (FAILED(hr)) {\
wasapi_com_warn(fun_str, hr);\
warn_exp; }
#define WASAPI_SR_CHECK(bool_exp, fun_str, err_exp)\
if (!(bool_exp)) {\
wasapi_sys_err(fun_str);\
err_exp; }
#define WASAPI_RELEASE(iface)\
if(iface) {\
iface->lpVtbl->Release(iface);\
iface = NULL; }\
#define WASAPI_FREE(ptr)\
if(ptr) {\
free(ptr);\
ptr = NULL; }\
#define WASAPI_CO_FREE(ptr)\
if(ptr) {\
CoTaskMemFree(ptr);\
ptr = NULL; }\
typedef struct
{
IMMDevice *device;
IAudioClient *client;
IAudioRenderClient *renderer;
HANDLE write_event;
fifo_buffer_t *buffer; /* NULL in unbuffered shared mode */
size_t frame_size; /* 4 or 8 only */
size_t engine_buffer_size;
bool exclusive;
bool blocking;
bool running;
} wasapi_t;
static void wasapi_log(const char *msg)
{
RARCH_LOG("[WASAPI]: %s.\n", msg);
}
static void wasapi_warn(const char *warn)
{
RARCH_WARN("[WASAPI]: %s.\n", warn);
}
static void wasapi_err(const char *err)
{
RARCH_ERR("[WASAPI]: %s.\n", err);
}
static void wasapi_com_warn(const char *fun, HRESULT hr)
{
RARCH_WARN("[WASAPI]: %s failed with error 0x%.8X.\n", fun, hr);
}
static void wasapi_com_err(const char *fun, HRESULT hr)
{
RARCH_ERR("[WASAPI]: %s failed with error 0x%.8X.\n", fun, hr);
}
static void wasapi_sys_err(const char *fun)
{
RARCH_ERR("[WASAPI]: %s failed with error %d.\n", fun, GetLastError());
}
static bool wasapi_check_device_id(IMMDevice *device, const char *id)
{
HRESULT hr;
bool result = false;
LPWSTR dev_id = NULL, dev_cmp_id = NULL;
int id_length = MultiByteToWideChar(CP_ACP, 0, id, -1, NULL, 0);
WASAPI_SR_CHECK(id_length > 0, "MultiByteToWideChar", goto error);
dev_cmp_id = (LPWSTR)malloc(id_length * sizeof(WCHAR));
WASAPI_CHECK(dev_cmp_id, "Out of memory", goto error);
id_length = MultiByteToWideChar(CP_ACP, 0, id, -1, dev_cmp_id, id_length);
WASAPI_SR_CHECK(id_length > 0, "MultiByteToWideChar", goto error);
hr = device->lpVtbl->GetId(device, &dev_id);
WASAPI_HR_CHECK(hr, "IMMDevice::GetId", goto error);
result = lstrcmpW(dev_cmp_id, dev_id) == 0 ? true : false;
WASAPI_CO_FREE(dev_id);
WASAPI_FREE(dev_cmp_id);
return result;
error:
WASAPI_CO_FREE(dev_id);
WASAPI_FREE(dev_cmp_id);
return false;
}
static IMMDevice *wasapi_init_device(const char *id)
{
HRESULT hr;
UINT32 dev_count, i;
IMMDeviceEnumerator *enumerator = NULL;
IMMDevice *device = NULL;
IMMDeviceCollection *collection = NULL;
if (id)
RARCH_LOG("[WASAPI]: Initializing device %s ...\n", id);
else
wasapi_log("Initializing default device ..");
hr = CoCreateInstance(&CLSID_MMDeviceEnumerator, NULL, CLSCTX_ALL,
&IID_IMMDeviceEnumerator, (void **)&enumerator);
WASAPI_HR_CHECK(hr, "CoCreateInstance", goto error);
if (id)
{
hr = enumerator->lpVtbl->EnumAudioEndpoints(enumerator,
eRender, DEVICE_STATE_ACTIVE, &collection);
WASAPI_HR_CHECK(hr, "IMMDeviceEnumerator::EnumAudioEndpoints",
goto error);
hr = collection->lpVtbl->GetCount(collection, &dev_count);
WASAPI_HR_CHECK(hr, "IMMDeviceCollection::GetCount", goto error);
for (i = 0; i < dev_count; ++i)
{
hr = collection->lpVtbl->Item(collection, i, &device);
WASAPI_HR_CHECK(hr, "IMMDeviceCollection::Item", continue);
if (wasapi_check_device_id(device, id))
break;
WASAPI_RELEASE(device);
}
}
else
{
hr = enumerator->lpVtbl->GetDefaultAudioEndpoint(enumerator,
eRender, eConsole, &device);
WASAPI_HR_CHECK(hr, "IMMDeviceEnumerator::GetDefaultAudioEndpoint",
goto error);
}
if (!device)
goto error;
WASAPI_RELEASE(collection);
WASAPI_RELEASE(enumerator);
wasapi_log("Device initialized");
return device;
error:
WASAPI_RELEASE(collection);
WASAPI_RELEASE(enumerator);
if (id)
wasapi_warn("Failed to initialize device");
else
wasapi_err("Failed to initialize device");
return NULL;
}
static unsigned wasapi_pref_rate(unsigned i)
{
const unsigned r[] = { 48000, 44100, 96000, 192000 };
if (i >= sizeof(r) / sizeof(unsigned))
return 0;
return r[i];
}
static void wasapi_set_format(WAVEFORMATEXTENSIBLE *wf,
bool float_fmt, unsigned rate)
{
wf->Format.nChannels = 2;
wf->Format.nSamplesPerSec = rate;
if (float_fmt)
{
wf->Format.wFormatTag = WAVE_FORMAT_EXTENSIBLE;
wf->Format.nAvgBytesPerSec = rate * 8;
wf->Format.nBlockAlign = 8;
wf->Format.wBitsPerSample = 32;
wf->Format.cbSize = sizeof(WORD) + sizeof(DWORD) + sizeof(GUID);
wf->Samples.wValidBitsPerSample = 32;
wf->dwChannelMask = KSAUDIO_SPEAKER_STEREO;
wf->SubFormat = KSDATAFORMAT_SUBTYPE_IEEE_FLOAT;
}
else
{
wf->Format.wFormatTag = WAVE_FORMAT_PCM;
wf->Format.nAvgBytesPerSec = rate * 4;
wf->Format.nBlockAlign = 4;
wf->Format.wBitsPerSample = 16;
wf->Format.cbSize = 0;
}
}
static IAudioClient *wasapi_init_client_sh(IMMDevice *device,
bool *float_fmt, unsigned *rate, unsigned latency)
{
WAVEFORMATEXTENSIBLE wf;
int i, j;
IAudioClient *client = NULL;
bool float_fmt_res = *float_fmt;
unsigned rate_res = *rate;
HRESULT hr = device->lpVtbl->Activate(device, &IID_IAudioClient,
CLSCTX_ALL, NULL, (void**)&client);
WASAPI_HR_CHECK(hr, "IMMDevice::Activate", return NULL);
/* once for float, once for pcm (requested first) */
for (i = 0; i < 2; ++i)
{
rate_res = *rate;
if (i == 1)
float_fmt_res = !float_fmt_res;
/* for requested rate (first) and all preferred rates */
for (j = 0; rate_res; ++j)
{
RARCH_LOG("[WASAPI]: Initializing client (shared, %s, %uHz, %ums) ...\n",
float_fmt_res ? "float" : "pcm", rate_res, latency);
wasapi_set_format(&wf, float_fmt_res, rate_res);
hr = client->lpVtbl->Initialize(client, AUDCLNT_SHAREMODE_SHARED,
AUDCLNT_STREAMFLAGS_EVENTCALLBACK | AUDCLNT_STREAMFLAGS_NOPERSIST,
0, 0, (WAVEFORMATEX*)&wf, NULL);
if (hr == AUDCLNT_E_ALREADY_INITIALIZED)
{
client->lpVtbl->Release(client);
hr = device->lpVtbl->Activate(device, &IID_IAudioClient,
CLSCTX_ALL, NULL, (void**)&client);
WASAPI_HR_CHECK(hr, "IMMDevice::Activate", return NULL);
hr = client->lpVtbl->Initialize(client, AUDCLNT_SHAREMODE_SHARED,
AUDCLNT_STREAMFLAGS_EVENTCALLBACK | AUDCLNT_STREAMFLAGS_NOPERSIST,
0, 0, (WAVEFORMATEX*)&wf, NULL);
}
if (hr != AUDCLNT_E_UNSUPPORTED_FORMAT)
{
i = 2; /* break from outer loop too */
break;
}
wasapi_warn("Unsupported format");
rate_res = wasapi_pref_rate(j);
if (rate_res == *rate) /* requested rate is allready tested */
rate_res = wasapi_pref_rate(++j); /* skip it */
}
}
WASAPI_HR_CHECK(hr, "IAudioClient::Initialize", goto error);
*float_fmt = float_fmt_res;
*rate = rate_res;
return client;
error:
WASAPI_RELEASE(client);
return NULL;
}
static IAudioClient *wasapi_init_client_ex(IMMDevice *device,
bool *float_fmt, unsigned *rate, unsigned latency)
{
WAVEFORMATEXTENSIBLE wf;
int i, j;
IAudioClient *client = NULL;
bool float_fmt_res = *float_fmt;
unsigned rate_res = *rate;
REFERENCE_TIME minimum_period = 0;
REFERENCE_TIME buffer_duration = 0;
UINT32 buffer_length = 0;
HRESULT hr = device->lpVtbl->Activate(
device, &IID_IAudioClient,
CLSCTX_ALL, NULL, (void**)&client);
WASAPI_HR_CHECK(hr, "IMMDevice::Activate", return NULL);
hr = client->lpVtbl->GetDevicePeriod(client, NULL, &minimum_period);
WASAPI_HR_CHECK(hr, "IAudioClient::GetDevicePeriod", goto error);
/* buffer_duration is in 100ns units */
buffer_duration = latency * 10000.0;
if (buffer_duration < minimum_period)
buffer_duration = minimum_period;
/* once for float, once for pcm (requested first) */
for (i = 0; i < 2; ++i)
{
rate_res = *rate;
if (i == 1)
float_fmt_res = !float_fmt_res;
/* for requested rate (first) and all preferred rates */
for (j = 0; rate_res; ++j)
{
RARCH_LOG("[WASAPI]: Initializing client (exclusive, %s, %uHz, %ums) ...\n",
float_fmt_res ? "float" : "pcm", rate_res, latency);
wasapi_set_format(&wf, float_fmt_res, rate_res);
hr = client->lpVtbl->Initialize(client, AUDCLNT_SHAREMODE_EXCLUSIVE,
AUDCLNT_STREAMFLAGS_EVENTCALLBACK | AUDCLNT_STREAMFLAGS_NOPERSIST,
buffer_duration, buffer_duration, (WAVEFORMATEX*)&wf, NULL);
if (hr == AUDCLNT_E_BUFFER_SIZE_NOT_ALIGNED)
{
hr = client->lpVtbl->GetBufferSize(client, &buffer_length);
WASAPI_HR_CHECK(hr, "IAudioClient::GetBufferSize", goto error);
client->lpVtbl->Release(client);
hr = device->lpVtbl->Activate(device, &IID_IAudioClient,
CLSCTX_ALL, NULL, (void**)&client);
WASAPI_HR_CHECK(hr, "IMMDevice::Activate", return NULL);
buffer_duration = 10000.0 * 1000.0 / rate_res * buffer_length + 0.5;
hr = client->lpVtbl->Initialize(client, AUDCLNT_SHAREMODE_EXCLUSIVE,
AUDCLNT_STREAMFLAGS_EVENTCALLBACK | AUDCLNT_STREAMFLAGS_NOPERSIST,
buffer_duration, buffer_duration, (WAVEFORMATEX*)&wf, NULL);
}
if (hr == AUDCLNT_E_ALREADY_INITIALIZED)
{
client->lpVtbl->Release(client);
hr = device->lpVtbl->Activate(device, &IID_IAudioClient,
CLSCTX_ALL, NULL, (void**)&client);
WASAPI_HR_CHECK(hr, "IMMDevice::Activate", return NULL);
hr = client->lpVtbl->Initialize(client, AUDCLNT_SHAREMODE_EXCLUSIVE,
AUDCLNT_STREAMFLAGS_EVENTCALLBACK | AUDCLNT_STREAMFLAGS_NOPERSIST,
buffer_duration, buffer_duration, (WAVEFORMATEX*)&wf, NULL);
}
if (hr != AUDCLNT_E_UNSUPPORTED_FORMAT)
{
WASAPI_WARN(hr != AUDCLNT_E_DEVICE_IN_USE,
"Device already in use", goto error);
WASAPI_WARN(hr != AUDCLNT_E_EXCLUSIVE_MODE_NOT_ALLOWED,
"Exclusive mode disabled", goto error);
i = 2; /* break from outer loop too */
break;
}
wasapi_warn("Unsupported format");
rate_res = wasapi_pref_rate(j);
if (rate_res == *rate) /* requested rate is allready tested */
rate_res = wasapi_pref_rate(++j); /* skip it */
}
}
WASAPI_HR_CHECK(hr, "IAudioClient::Initialize", goto error);
*float_fmt = float_fmt_res;
*rate = rate_res;
return client;
error:
WASAPI_RELEASE(client);
return NULL;
}
static IAudioClient *wasapi_init_client(IMMDevice *device, bool *exclusive,
bool *float_fmt, unsigned *rate, unsigned latency)
{
HRESULT hr;
IAudioClient *client;
double latency_res;
REFERENCE_TIME device_period = 0;
REFERENCE_TIME stream_latency = 0;
UINT32 buffer_length = 0;
if (*exclusive)
{
client = wasapi_init_client_ex(device, float_fmt, rate, latency);
if (!client)
{
client = wasapi_init_client_sh(device, float_fmt, rate, latency);
if (client)
*exclusive = false;
}
}
else
{
client = wasapi_init_client_sh(device, float_fmt, rate, latency);
if (!client)
{
client = wasapi_init_client_ex(device, float_fmt, rate, latency);
if (client)
*exclusive = true;
}
}
WASAPI_CHECK(client, "Failed to initialize client", return NULL);
/* next calls are allowed to fail (we losing info only) */
if (*exclusive)
hr = client->lpVtbl->GetDevicePeriod(client, NULL, &device_period);
else
hr = client->lpVtbl->GetDevicePeriod(client, &device_period, NULL);
if (FAILED(hr))
wasapi_com_warn("IAudioClient::GetDevicePeriod", hr);
if (!*exclusive)
{
hr = client->lpVtbl->GetStreamLatency(client, &stream_latency);
if (FAILED(hr))
wasapi_com_warn("IAudioClient::GetStreamLatency", hr);
}
hr = client->lpVtbl->GetBufferSize(client, &buffer_length);
if (FAILED(hr))
wasapi_com_warn("IAudioClient::GetBufferSize", hr);
if (*exclusive)
latency_res = (double)buffer_length * 1000.0 / (*rate);
else
latency_res = (double)(stream_latency + device_period) / 10000.0;
RARCH_LOG("[WASAPI]: Client initialized (%s, %s, %uHz, %.1fms).\n",
*exclusive ? "exclusive" : "shared",
*float_fmt ? "float" : "pcm", *rate, latency_res);
RARCH_LOG("[WASAPI]: Client's buffer length is %u frames (%.1fms).\n",
buffer_length, (double)buffer_length * 1000.0 / (*rate));
RARCH_LOG("[WASAPI]: Device period is %.1fms (%lld frames).\n",
(double)device_period / 10000.0, device_period * (*rate) / 10000000);
return client;
}
static void *wasapi_init(const char *dev_id, unsigned rate, unsigned latency,
unsigned u1, unsigned *u2)
{
HRESULT hr;
bool com_initialized = false;
UINT32 frame_count = 0;
REFERENCE_TIME dev_period = 0;
BYTE *dest = NULL;
settings_t *settings = config_get_ptr();
bool float_format = settings->bools.audio_wasapi_float_format;
int sh_buffer_length = settings->ints.audio_wasapi_sh_buffer_length;
wasapi_t *w = (wasapi_t*)calloc(1, sizeof(wasapi_t));
w->exclusive = settings->bools.audio_wasapi_exclusive_mode;
WASAPI_CHECK(w, "Out of memory", return NULL);
hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
WASAPI_HR_CHECK(hr, "CoInitializeEx", goto error);
com_initialized = true;
w->device = wasapi_init_device(dev_id);
if (!w->device && dev_id)
w->device = wasapi_init_device(NULL);
if (!w->device)
goto error;
w->client = wasapi_init_client(w->device,
&w->exclusive, &float_format, &rate, latency);
if (!w->client)
goto error;
hr = w->client->lpVtbl->GetBufferSize(w->client, &frame_count);
WASAPI_HR_CHECK(hr, "IAudioClient::GetBufferSize", goto error);
w->frame_size = float_format ? 8 : 4;
w->engine_buffer_size = frame_count * w->frame_size;
if (w->exclusive)
{
w->buffer = fifo_new(w->engine_buffer_size);
WASAPI_CHECK(w->buffer, "Out of memory", goto error);
RARCH_LOG("[WASAPI]: Intermediate buffer length is %u frames (%.1fms).\n",
frame_count, (double)frame_count * 1000.0 / rate);
}
else if (sh_buffer_length)
{
if (sh_buffer_length < 0)
{
hr = w->client->lpVtbl->GetDevicePeriod(w->client, &dev_period, NULL);
WASAPI_HR_CHECK(hr, "IAudioClient::GetDevicePeriod", goto error);
sh_buffer_length = dev_period * rate / 10000000;
}
w->buffer = fifo_new(sh_buffer_length * w->frame_size);
WASAPI_CHECK(w->buffer, "Out of memory", goto error);
RARCH_LOG("[WASAPI]: Intermediate buffer length is %u frames (%.1fms).\n",
sh_buffer_length, (double)sh_buffer_length * 1000.0 / rate);
}
else
wasapi_log("Intermediate buffer is off");
w->write_event = CreateEventA(NULL, FALSE, FALSE, NULL);
WASAPI_SR_CHECK(w->write_event, "CreateEventA", goto error);
hr = w->client->lpVtbl->SetEventHandle(w->client, w->write_event);
WASAPI_HR_CHECK(hr, "IAudioClient::SetEventHandle", goto error);
hr = w->client->lpVtbl->GetService(w->client,
&IID_IAudioRenderClient, (void**)&w->renderer);
WASAPI_HR_CHECK(hr, "IAudioClient::GetService", goto error);
hr = w->renderer->lpVtbl->GetBuffer(w->renderer, frame_count, &dest);
WASAPI_HR_CHECK(hr, "IAudioRenderClient::GetBuffer", goto error);
hr = w->renderer->lpVtbl->ReleaseBuffer(w->renderer, frame_count,
AUDCLNT_BUFFERFLAGS_SILENT);
WASAPI_HR_CHECK(hr, "IAudioRenderClient::ReleaseBuffer", goto error);
hr = w->client->lpVtbl->Start(w->client);
WASAPI_HR_CHECK(hr, "IAudioClient::Start", goto error);
w->running = true;
w->blocking = settings->bools.audio_sync;
return w;
error:
WASAPI_RELEASE(w->renderer);
WASAPI_RELEASE(w->client);
WASAPI_RELEASE(w->device);
if (w->write_event)
CloseHandle(w->write_event);
if (w->buffer)
fifo_free(w->buffer);
free(w);
if (com_initialized)
CoUninitialize();
return NULL;
}
static bool wasapi_flush(wasapi_t * w, const void * data, size_t size)
{
BYTE *dest = NULL;
UINT32 frame_count = size / w->frame_size;
HRESULT hr = w->renderer->lpVtbl->GetBuffer(w->renderer, frame_count, &dest);
WASAPI_HR_CHECK(hr, "IAudioRenderClient::GetBuffer", return false)
memcpy(dest, data, size);
hr = w->renderer->lpVtbl->ReleaseBuffer(w->renderer, frame_count, 0);
WASAPI_HR_CHECK(hr, "IAudioRenderClient::ReleaseBuffer", return false);
return true;
}
static bool wasapi_flush_buffer(wasapi_t * w, size_t size)
{
BYTE *dest = NULL;
UINT32 frame_count = size / w->frame_size;
HRESULT hr = w->renderer->lpVtbl->GetBuffer(w->renderer, frame_count, &dest);
WASAPI_HR_CHECK(hr, "IAudioRenderClient::GetBuffer", return false)
fifo_read(w->buffer, dest, size);
hr = w->renderer->lpVtbl->ReleaseBuffer(w->renderer, frame_count, 0);
WASAPI_HR_CHECK(hr, "IAudioRenderClient::ReleaseBuffer", return false);
return true;
}
static ssize_t wasapi_write_sh(wasapi_t *w, const void * data, size_t size)
{
DWORD ir;
size_t read_avail;
size_t write_avail;
HRESULT hr;
bool br;
ssize_t writen = -1;
UINT32 padding = 0;
if (w->buffer)
{
write_avail = fifo_write_avail(w->buffer);
if (!write_avail)
{
if (w->blocking)
{
ir = WaitForSingleObject(w->write_event, INFINITE);
WASAPI_SR_CHECK(ir == WAIT_OBJECT_0, "WaitForSingleObject", return -1);
}
hr = w->client->lpVtbl->GetCurrentPadding(w->client, &padding);
WASAPI_HR_CHECK(hr, "IAudioClient::GetCurrentPadding", return -1);
read_avail = fifo_read_avail(w->buffer);
write_avail = w->engine_buffer_size - padding * w->frame_size;
writen = read_avail < write_avail ? read_avail : write_avail;
if (writen)
{
br = wasapi_flush_buffer(w, writen);
if (!br)
return -1;
}
}
write_avail = fifo_write_avail(w->buffer);
writen = size < write_avail ? size : write_avail;
if (writen)
fifo_write(w->buffer, data, writen);
}
else
{
if (w->blocking)
{
ir = WaitForSingleObject(w->write_event, INFINITE);
WASAPI_SR_CHECK(ir == WAIT_OBJECT_0, "WaitForSingleObject", return -1);
}
hr = w->client->lpVtbl->GetCurrentPadding(w->client, &padding);
WASAPI_HR_CHECK(hr, "IAudioClient::GetCurrentPadding", return -1);
write_avail = w->engine_buffer_size - padding * w->frame_size;
if (!write_avail)
return 0;
writen = size < write_avail ? size : write_avail;
if (writen)
{
br = wasapi_flush(w, data, writen);
if (!br)
return -1;
}
}
return writen;
}
static ssize_t wasapi_write_ex(wasapi_t *w, const void * data, size_t size)
{
DWORD ir;
size_t write_avail;
bool br = false;
ssize_t writen = 0;
write_avail = fifo_write_avail(w->buffer);
if (!write_avail)
{
ir = WaitForSingleObject(w->write_event, w->blocking ? INFINITE : 0);
if (ir != WAIT_OBJECT_0 && w->blocking)
{
wasapi_sys_err("WaitForSingleObject");
return -1;
}
if (ir != WAIT_OBJECT_0)
return 0;
br = wasapi_flush_buffer(w, w->engine_buffer_size);
if (!br)
return -1;
write_avail = w->engine_buffer_size;
}
writen = size < write_avail ? size : write_avail;
fifo_write(w->buffer, data, writen);
return writen;
}
static ssize_t wasapi_write(void *wh, const void *data, size_t size)
{
size_t writen;
ssize_t ir;
wasapi_t *w = (wasapi_t*)wh;
if (w->blocking)
{
for (writen = 0, ir = -1; writen < size; writen += ir)
{
if (w->exclusive)
ir = wasapi_write_ex(w, data + writen, size - writen);
else
ir = wasapi_write_sh(w, data + writen, size - writen);
if (ir == -1)
return -1;
}
}
else if (w->exclusive)
writen = wasapi_write_ex(w, data, size);
else
writen = wasapi_write_sh(w, data, size);
return writen;
}
static bool wasapi_stop(void *wh)
{
wasapi_t *w = (wasapi_t*)wh;
HRESULT hr = w->client->lpVtbl->Stop(w->client);
WASAPI_HR_CHECK(hr, "IAudioClient::Stop", return !w->running);
w->running = false;
return true;
}
static bool wasapi_start(void *wh, bool u)
{
wasapi_t *w = (wasapi_t*)wh;
HRESULT hr = w->client->lpVtbl->Start(w->client);
if (hr == AUDCLNT_E_NOT_STOPPED)
return true;
WASAPI_HR_CHECK(hr, "IAudioClient::Start", return w->running);
w->running = true;
return true;
}
static bool wasapi_alive(void *wh)
{
wasapi_t *w = (wasapi_t*)wh;
return w->running;
}
static void wasapi_set_nonblock_state(void *wh, bool nonblock)
{
wasapi_t *w = (wasapi_t*)wh;
RARCH_LOG("[WASAPI]: Sync %s.\n", nonblock ? "off" : "on");
w->blocking = !nonblock;
}
static void wasapi_free(void *wh)
{
wasapi_t *w = (wasapi_t*)wh;
HANDLE write_event = w->write_event;
DWORD ir;
WASAPI_RELEASE(w->renderer);
if (w->client)
w->client->lpVtbl->Stop(w->client);
WASAPI_RELEASE(w->client);
WASAPI_RELEASE(w->device);
CoUninitialize();
if (w->buffer)
fifo_free(w->buffer);
free(w);
ir = WaitForSingleObject(write_event, 20);
if (ir == WAIT_FAILED)
wasapi_sys_err("WaitForSingleObject");
/* If event isn't signaled log and leak */
WASAPI_CHECK(ir == WAIT_OBJECT_0, "Memory leak in wasapi_free", return);
CloseHandle(write_event);
}
static bool wasapi_use_float(void *wh)
{
wasapi_t *w = (wasapi_t*)wh;
return w->frame_size == 8;
}
static void *wasapi_device_list_new(void *u)
{
HRESULT hr;
UINT i;
PROPVARIANT prop_var;
int ir;
union string_list_elem_attr attr;
IMMDeviceEnumerator *enumerator = NULL;
IMMDeviceCollection *collection = NULL;
UINT dev_count = 0;
IMMDevice *device = NULL;
LPWSTR dev_id_wstr = NULL;
IPropertyStore *prop_store = NULL;
bool prop_var_init = false;
bool br = false;
char *dev_id_str = NULL;
char *dev_name_str = NULL;
struct string_list *sl = string_list_new();
wasapi_log("Enumerating active devices ..");
WASAPI_CHECK(sl, "string_list_new failed", return NULL);
attr.i = 0;
hr = CoCreateInstance(&CLSID_MMDeviceEnumerator, NULL, CLSCTX_ALL,
&IID_IMMDeviceEnumerator, (void **)&enumerator);
WASAPI_HR_CHECK(hr, "CoCreateInstance", goto error);
hr = enumerator->lpVtbl->EnumAudioEndpoints(enumerator,
eRender, DEVICE_STATE_ACTIVE, &collection);
WASAPI_HR_CHECK(hr, "IMMDeviceEnumerator::EnumAudioEndpoints", goto error);
hr = collection->lpVtbl->GetCount(collection, &dev_count);
WASAPI_HR_CHECK(hr, "IMMDeviceCollection::GetCount", goto error);
for (i = 0; i < dev_count; ++i)
{
hr = collection->lpVtbl->Item(collection, i, &device);
WASAPI_HR_CHECK(hr, "IMMDeviceCollection::Item", goto error);
hr = device->lpVtbl->GetId(device, &dev_id_wstr);
WASAPI_HR_CHECK(hr, "IMMDevice::GetId", goto error);
ir = WideCharToMultiByte(CP_ACP, 0, dev_id_wstr, -1,
NULL, 0, NULL, NULL);
WASAPI_SR_CHECK(ir, "WideCharToMultiByte", goto error);
dev_id_str = (char *)malloc(ir);
WASAPI_CHECK(dev_id_str, "Out of memory", goto error);
ir = WideCharToMultiByte(CP_ACP, 0, dev_id_wstr, -1,
dev_id_str, ir, NULL, NULL);
WASAPI_SR_CHECK(ir, "WideCharToMultiByte", goto error);
hr = device->lpVtbl->OpenPropertyStore(device, STGM_READ, &prop_store);
WASAPI_HR_CHECK(hr, "IMMDevice::OpenPropertyStore", goto error);
PropVariantInit(&prop_var);
prop_var_init = true;
hr = prop_store->lpVtbl->GetValue(prop_store,
&PKEY_Device_FriendlyName, &prop_var);
WASAPI_HR_CHECK(hr, "IPropertyStore::GetValue", goto error);
ir = WideCharToMultiByte(CP_ACP, 0, prop_var.pwszVal, -1,
NULL, 0, NULL, NULL);
WASAPI_SR_CHECK(ir, "WideCharToMultiByte", goto error);
dev_name_str = (char *)malloc(ir);
WASAPI_CHECK(dev_name_str, "Out of memory", goto error);
ir = WideCharToMultiByte(CP_ACP, 0, prop_var.pwszVal, -1,
dev_name_str, ir, NULL, NULL);
WASAPI_SR_CHECK(ir, "WideCharToMultiByte", goto error);
RARCH_LOG("[WASAPI]: %s %s\n", dev_name_str, dev_id_str);
br = string_list_append(sl, dev_id_str, attr);
WASAPI_CHECK(br, "string_list_append failed", goto error);
PropVariantClear(&prop_var);
prop_var_init = false;
WASAPI_CO_FREE(dev_id_wstr);
WASAPI_FREE(dev_id_str);
WASAPI_FREE(dev_name_str);
WASAPI_RELEASE(prop_store);
WASAPI_RELEASE(device);
}
WASAPI_RELEASE(collection);
WASAPI_RELEASE(enumerator);
wasapi_log("Devices enumerated");
return sl;
error:
WASAPI_FREE(dev_id_str);
WASAPI_FREE(dev_name_str);
if (prop_var_init)
PropVariantClear(&prop_var);
WASAPI_RELEASE(prop_store);
WASAPI_CO_FREE(dev_id_wstr);
WASAPI_RELEASE(device);
WASAPI_RELEASE(collection);
WASAPI_RELEASE(enumerator);
if (sl)
string_list_free(sl);
wasapi_err("Device enumeration failed");
return NULL;
}
static void wasapi_device_list_free(void *u, void *slp)
{
struct string_list *sl = (struct string_list*)slp;
string_list_free(sl);
}
static size_t wasapi_write_avail(void *wh)
{
HRESULT hr;
wasapi_t *w = (wasapi_t*)wh;
UINT32 padding = 0;
if (w->buffer)
return fifo_write_avail(w->buffer);
hr = w->client->lpVtbl->GetCurrentPadding(w->client, &padding);
WASAPI_HR_CHECK(hr, "IAudioClient::GetCurrentPadding", return 0);
return w->engine_buffer_size - padding * w->frame_size;
}
static size_t wasapi_buffer_size(void *wh)
{
wasapi_t *w = (wasapi_t*)wh;
if (!w->exclusive && w->buffer)
return w->buffer->size;
return w->engine_buffer_size;
}
audio_driver_t audio_wasapi = {
wasapi_init,
wasapi_write,
wasapi_stop,
wasapi_start,
wasapi_alive,
wasapi_set_nonblock_state,
wasapi_free,
wasapi_use_float,
"wasapi",
wasapi_device_list_new,
wasapi_device_list_free,
wasapi_write_avail,
wasapi_buffer_size
};
+1 -11
View File
@@ -25,7 +25,6 @@
#include "wiiu/system/memory.h"
#include "audio/audio_driver.h"
#include "performance_counters.h"
typedef struct
{
@@ -192,11 +191,9 @@ static bool ax_audio_start(void* data, bool is_shutdown)
return true;
}
static ssize_t ax_audio_write(void* data, const void* buf, size_t size,
bool is_perfcnt_enable)
static ssize_t ax_audio_write(void* data, const void* buf, size_t size)
{
int i;
static struct retro_perf_counter ax_audio_write_perf = {0};
size_t countAvail = 0;
ax_audio_t* ax = (ax_audio_t*)data;
const uint16_t* src = buf;
@@ -205,10 +202,6 @@ static ssize_t ax_audio_write(void* data, const void* buf, size_t size,
if(!size || (size & 0x3))
return 0;
/* Measure copy performance from here */
performance_counter_init(ax_audio_write_perf, "ax_audio_write");
performance_counter_start_plus(is_perfcnt_enable, ax_audio_write_perf);
if(count > AX_AUDIO_MAX_FREE)
count = AX_AUDIO_MAX_FREE;
@@ -286,9 +279,6 @@ static ssize_t ax_audio_write(void* data, const void* buf, size_t size,
if(!AXIsMultiVoiceRunning(ax->mvoice))
ax_audio_start(ax, false);
/* Done copying new data */
performance_counter_stop_plus(is_perfcnt_enable, ax_audio_write_perf);
/* return what was actually copied */
return (count << 2);
}
+4 -6
View File
@@ -201,10 +201,9 @@ static size_t xaudio2_write_avail(xaudio2_t *handle)
return handle->bufsize * (MAX_BUFFERS - handle->buffers - 1);
}
static size_t xaudio2_write(xaudio2_t *handle, const void *buf, size_t bytes_,
bool is_perfcnt_enable)
static size_t xaudio2_write(xaudio2_t *handle, const void *buf, size_t bytes_)
{
unsigned bytes = bytes_;
unsigned bytes = bytes_;
const uint8_t *buffer = (const uint8_t*)buf;
while (bytes)
@@ -274,8 +273,7 @@ static void *xa_init(const char *device, unsigned rate, unsigned latency,
return xa;
}
static ssize_t xa_write(void *data, const void *buf, size_t size,
bool is_perfcnt_enable)
static ssize_t xa_write(void *data, const void *buf, size_t size)
{
size_t ret;
xa_t *xa = (xa_t*)data;
@@ -290,7 +288,7 @@ static ssize_t xa_write(void *data, const void *buf, size_t size,
size = avail;
}
ret = xaudio2_write(xa->xa, buf, size, is_perfcnt_enable);
ret = xaudio2_write(xa->xa, buf, size);
if (ret == 0 && size > 0)
return -1;
return ret;
+1 -2
View File
@@ -57,8 +57,7 @@ static INLINE uint32_t bswap_32(uint32_t val)
((val >> 8) & 0xff00) | ((val << 8) & 0xff0000);
}
static ssize_t xenon360_audio_write(void *data, const void *buf, size_t size,
bool is_perfcnt_enable)
static ssize_t xenon360_audio_write(void *data, const void *buf, size_t size)
{
size_t written = 0, i;
const uint32_t *in_buf = buf;
+1 -1
View File
@@ -348,7 +348,7 @@ static void resampler_CC_upsample(void *re_, struct resampler_data *data)
}
#elif defined (__ARM_NEON__)
#elif defined (__ARM_NEON__) && !defined(DONT_WANT_ARM_OPTIMIZATIONS)
#define CC_RESAMPLER_IDENT "NEON"
+1
View File
@@ -73,6 +73,7 @@
#include <retro_inline.h>
#include <retro_assert.h>
#include <retro_miscellaneous.h>
#include <retro_timers.h>
/*
****************************************************************************
+1 -1
View File
@@ -37,7 +37,7 @@ void autosave_lock(void);
**/
void autosave_unlock(void);
void autosave_init(void);
bool autosave_init(void);
void autosave_deinit(void);
+229
View File
@@ -0,0 +1,229 @@
// This provides support for __getreent() as well as implementation of our thread-related wrappers
#include <reent.h>
#include <stdio.h>
#include <string.h>
#include <vitasdk/utils.h>
#include <psp2/kernel/threadmgr.h>
#define MAX_THREADS 256
typedef struct reent_for_thread {
int thread_id;
int needs_reclaim;
void *tls_data_ext;
void *pthread_data_ext;
struct _reent reent;
} reent_for_thread;
static reent_for_thread reent_list[MAX_THREADS];
static int _newlib_reent_mutex;
static struct _reent _newlib_global_reent;
#define TLS_REENT_THID_PTR(thid) sceKernelGetThreadTLSAddr(thid, 0x88)
#define TLS_REENT_PTR sceKernelGetTLSAddr(0x88)
#define list_entry(ptr, type, member) \
((type *)((char *)(ptr)-(unsigned long)(&((type *)0)->member)))
int __vita_delete_thread_reent(int thid)
{
struct reent_for_thread *for_thread;
// We only need to cleanup if reent is allocated, i.e. if it's on our TLS
// We also don't need to clean up the global reent
struct _reent **on_tls = NULL;
if (thid == 0)
on_tls = TLS_REENT_PTR;
else
on_tls = TLS_REENT_THID_PTR(thid);
if (!*on_tls || *on_tls == &_newlib_global_reent)
return 0;
for_thread = list_entry(*on_tls, struct reent_for_thread, reent);
// Remove from TLS
*on_tls = 0;
// Set thread id to zero, which means the reent is free
for_thread->thread_id = 0;
// We can't reclaim it here, will be done later in __getreent
for_thread->needs_reclaim = 1;
return 1;
}
int vitasdk_delete_thread_reent(int thid)
{
int res = 0;
// Lock the list because we'll be modifying it
sceKernelLockMutex(_newlib_reent_mutex, 1, NULL);
res = __vita_delete_thread_reent(thid);
sceKernelUnlockMutex(_newlib_reent_mutex, 1);
return res;
}
int _exit_thread_common(int exit_status, int (*exit_func)(int)) {
int res = 0;
int ret = 0;
int thid = sceKernelGetThreadId();
// Lock the list because we'll be modifying it
sceKernelLockMutex(_newlib_reent_mutex, 1, NULL);
res = __vita_delete_thread_reent(0);
ret = exit_func(exit_status);
if (res)
{
struct _reent **on_tls = TLS_REENT_PTR;
struct reent_for_thread *for_thread = list_entry(*on_tls, struct reent_for_thread, reent);
for_thread->thread_id = thid;
// And put it back on TLS
*on_tls = &for_thread->reent;
}
sceKernelUnlockMutex(_newlib_reent_mutex, 1);
return ret;
}
int vita_exit_thread(int exit_status) {
return _exit_thread_common(exit_status, sceKernelExitThread);
}
int vita_exit_delete_thread(int exit_status) {
return _exit_thread_common(exit_status, sceKernelExitDeleteThread);
}
static inline void __vita_clean_reent(void)
{
int i;
SceKernelThreadInfo info;
for (i = 0; i < MAX_THREADS; ++i)
{
info.size = sizeof(SceKernelThreadInfo);
if (sceKernelGetThreadInfo(reent_list[i].thread_id, &info) < 0)
{
reent_list[i].thread_id = 0;
reent_list[i].needs_reclaim = 1;
}
}
}
static inline struct reent_for_thread *__vita_allocate_reent(void)
{
int i;
struct reent_for_thread *free_reent = 0;
for (i = 0; i < MAX_THREADS; ++i)
if (reent_list[i].thread_id == 0) {
free_reent = &reent_list[i];
break;
}
return free_reent;
}
struct _reent *__getreent_for_thread(int thid) {
struct reent_for_thread *free_reent = 0;
struct _reent *returned_reent = 0;
// A pointer to our reent should be on the TLS
struct _reent **on_tls = NULL;
if (thid == 0)
on_tls = TLS_REENT_PTR;
else
on_tls = TLS_REENT_THID_PTR(thid);
if (*on_tls) {
return *on_tls;
}
sceKernelLockMutex(_newlib_reent_mutex, 1, 0);
// If it's not on the TLS this means the thread doesn't have a reent allocated yet
// We allocate one and put a pointer to it on the TLS
free_reent = __vita_allocate_reent();
if (!free_reent) {
// clean any hanging thread references
__vita_clean_reent();
free_reent = __vita_allocate_reent();
if (!free_reent) {
// we've exhausted all our resources
__builtin_trap();
}
} else {
// First, check if it needs to be cleaned up (if it came from another thread)
if (free_reent->needs_reclaim) {
_reclaim_reent(&free_reent->reent);
free_reent->needs_reclaim = 0;
}
memset(free_reent, 0, sizeof(struct reent_for_thread));
// Set it up
if(thid==0){
thid = sceKernelGetThreadId();
}
free_reent->thread_id = thid;
_REENT_INIT_PTR(&free_reent->reent);
returned_reent = &free_reent->reent;
}
// Put it on TLS for faster access time
*on_tls = returned_reent;
sceKernelUnlockMutex(_newlib_reent_mutex, 1);
return returned_reent;
}
struct _reent *__getreent(void) {
return __getreent_for_thread(0);
}
void *vitasdk_get_tls_data(SceUID thid)
{
struct reent_for_thread *for_thread;
struct _reent *reent = __getreent_for_thread(thid);
for_thread = list_entry(reent, struct reent_for_thread, reent);
return &for_thread->tls_data_ext;
}
void *vitasdk_get_pthread_data(SceUID thid)
{
struct reent_for_thread *for_thread;
struct _reent *reent = __getreent_for_thread(thid);
for_thread = list_entry(reent, struct reent_for_thread, reent);
return &for_thread->pthread_data_ext;
}
// Called from _start to set up the main thread reentrancy structure
void _init_vita_reent(void) {
memset(reent_list, 0, sizeof(reent_list));
_newlib_reent_mutex = sceKernelCreateMutex("reent list access mutex", 0, 0, 0);
reent_list[0].thread_id = sceKernelGetThreadId();
_REENT_INIT_PTR(&reent_list[0].reent);
*(struct _reent **)(TLS_REENT_PTR) = &reent_list[0].reent;
_REENT_INIT_PTR(&_newlib_global_reent);
}
void _free_vita_reent(void) {
sceKernelDeleteMutex(_newlib_reent_mutex);
}
+26 -24
View File
@@ -25,7 +25,6 @@
#include "../configuration.h"
#include "../driver.h"
#include "../retroarch.h"
#include "../runloop.h"
#include "../list_special.h"
#include "../verbosity.h"
@@ -48,6 +47,12 @@ static const camera_driver_t *camera_drivers[] = {
NULL,
};
static struct retro_camera_callback camera_cb;
static const camera_driver_t *camera_driver = NULL;
static void *camera_data = NULL;
static bool camera_driver_active = false;
static bool camera_driver_data_own = false;
/**
* camera_driver_find_handle:
* @idx : index of driver to get handle to.
@@ -102,14 +107,20 @@ bool driver_camera_start(void)
return camera_driver_ctl(RARCH_CAMERA_CTL_START, NULL);
}
void camera_driver_poll(void)
{
if (!camera_cb.caps)
return;
if (!camera_driver || !camera_driver->poll || !camera_data)
return;
camera_driver->poll(camera_data,
camera_cb.frame_raw_framebuffer,
camera_cb.frame_opengl_texture);
}
bool camera_driver_ctl(enum rarch_camera_ctl_state state, void *data)
{
settings_t *settings = config_get_ptr();
static struct retro_camera_callback camera_cb;
static const camera_driver_t *camera_driver = NULL;
static void *camera_data = NULL;
static bool camera_driver_active = false;
static bool camera_driver_data_own = false;
switch (state)
{
@@ -136,11 +147,11 @@ bool camera_driver_ctl(enum rarch_camera_ctl_state state, void *data)
driver_ctx_info_t drv;
drv.label = "camera_driver";
drv.s = settings->camera.driver;
drv.s = settings->arrays.camera_driver;
driver_ctl(RARCH_DRIVER_CTL_FIND_INDEX, &drv);
i = drv.len;
i = (int)drv.len;
if (i >= 0)
camera_driver = (const camera_driver_t*)camera_driver_find_handle(i);
@@ -148,7 +159,7 @@ bool camera_driver_ctl(enum rarch_camera_ctl_state state, void *data)
{
unsigned d;
RARCH_ERR("Couldn't find any camera driver named \"%s\"\n",
settings->camera.driver);
settings->arrays.camera_driver);
RARCH_LOG_OUTPUT("Available camera drivers are:\n");
for (d = 0; camera_driver_find_handle(d); d++)
RARCH_LOG_OUTPUT("\t%s\n", camera_driver_find_ident(d));
@@ -188,22 +199,13 @@ bool camera_driver_ctl(enum rarch_camera_ctl_state state, void *data)
case RARCH_CAMERA_CTL_START:
if (camera_driver && camera_data && camera_driver->start)
{
if (settings->camera.allow)
if (settings->bools.camera_allow)
return camera_driver->start(camera_data);
runloop_msg_queue_push(
"Camera is explicitly disabled.\n", 1, 180, false);
}
break;
case RARCH_CAMERA_CTL_POLL:
if (!camera_cb.caps)
return false;
if (!camera_driver || !camera_driver->poll || !camera_data)
return false;
camera_driver->poll(camera_data,
camera_cb.frame_raw_framebuffer,
camera_cb.frame_opengl_texture);
break;
case RARCH_CAMERA_CTL_SET_CB:
{
struct retro_camera_callback *cb =
@@ -222,12 +224,12 @@ bool camera_driver_ctl(enum rarch_camera_ctl_state state, void *data)
return false;
camera_data = camera_driver->init(
*settings->camera.device ? settings->camera.device : NULL,
*settings->arrays.camera_device ? settings->arrays.camera_device : NULL,
camera_cb.caps,
settings->camera.width ?
settings->camera.width : camera_cb.width,
settings->camera.height ?
settings->camera.height : camera_cb.height);
settings->uints.camera_width ?
settings->uints.camera_width : camera_cb.width,
settings->uints.camera_height ?
settings->uints.camera_height : camera_cb.height);
if (!camera_data)
{
+2 -1
View File
@@ -37,7 +37,6 @@ enum rarch_camera_ctl_state
RARCH_CAMERA_CTL_UNSET_ACTIVE,
RARCH_CAMERA_CTL_IS_ACTIVE,
RARCH_CAMERA_CTL_FIND_DRIVER,
RARCH_CAMERA_CTL_POLL,
RARCH_CAMERA_CTL_SET_CB,
RARCH_CAMERA_CTL_STOP,
RARCH_CAMERA_CTL_START,
@@ -105,6 +104,8 @@ void driver_camera_stop(void);
bool driver_camera_start(void);
void camera_driver_poll(void);
bool camera_driver_ctl(enum rarch_camera_ctl_state state, void *data);
RETRO_END_DECLS
+32 -28
View File
@@ -36,7 +36,8 @@
#include <retro_assert.h>
#include <retro_miscellaneous.h>
#include <gfx/scaler/scaler.h>
#include <retro_stat.h>
#include <gfx/video_frame.h>
#include <file/file_path.h>
#include <compat/strl.h>
@@ -89,15 +90,15 @@ static bool init_mmap(void *data)
if (xioctl(v4l->fd, (uint8_t)VIDIOC_REQBUFS, &req) == -1)
{
if (errno == EINVAL)
RARCH_ERR("%s does not support memory mapping.\n", v4l->dev_name);
RARCH_ERR("[V4L2]: %s does not support memory mapping.\n", v4l->dev_name);
else
RARCH_ERR("xioctl of VIDIOC_REQBUFS failed.\n");
RARCH_ERR("[V4L2]: xioctl of VIDIOC_REQBUFS failed.\n");
return false;
}
if (req.count < 2)
{
RARCH_ERR("Insufficient buffer memory on %s.\n", v4l->dev_name);
RARCH_ERR("[V4L2]: Insufficient buffer memory on %s.\n", v4l->dev_name);
return false;
}
@@ -105,7 +106,7 @@ static bool init_mmap(void *data)
if (!v4l->buffers)
{
RARCH_ERR("Out of memory allocating V4L2 buffers.\n");
RARCH_ERR("[V4L2]: Out of memory allocating V4L2 buffers.\n");
return false;
}
@@ -119,7 +120,7 @@ static bool init_mmap(void *data)
if (xioctl(v4l->fd, (uint8_t)VIDIOC_QUERYBUF, &buf) == -1)
{
RARCH_ERR("Error - xioctl VIDIOC_QUERYBUF.\n");
RARCH_ERR("[V4L2]: Error - xioctl VIDIOC_QUERYBUF.\n");
return false;
}
@@ -131,7 +132,7 @@ static bool init_mmap(void *data)
if (v4l->buffers[v4l->n_buffers].start == MAP_FAILED)
{
RARCH_ERR("Error - mmap.\n");
RARCH_ERR("[V4L2]: Error - mmap.\n");
return false;
}
}
@@ -150,21 +151,21 @@ static bool init_device(void *data)
if (xioctl(v4l->fd, (uint8_t)VIDIOC_QUERYCAP, &cap) < 0)
{
if (errno == EINVAL)
RARCH_ERR("%s is no V4L2 device.\n", v4l->dev_name);
RARCH_ERR("[V4L2]: %s is no V4L2 device.\n", v4l->dev_name);
else
RARCH_ERR("Error - VIDIOC_QUERYCAP.\n");
RARCH_ERR("[V4L2]: Error - VIDIOC_QUERYCAP.\n");
return false;
}
if (!(cap.capabilities & V4L2_CAP_VIDEO_CAPTURE))
{
RARCH_ERR("%s is no video capture device.\n", v4l->dev_name);
RARCH_ERR("[V4L2]: %s is no video capture device.\n", v4l->dev_name);
return false;
}
if (!(cap.capabilities & V4L2_CAP_STREAMING))
{
RARCH_ERR("%s does not support streaming I/O (V4L2_CAP_STREAMING).\n",
RARCH_ERR("[V4L2]: %s does not support streaming I/O (V4L2_CAP_STREAMING).\n",
v4l->dev_name);
return false;
}
@@ -187,7 +188,7 @@ static bool init_device(void *data)
if (xioctl(v4l->fd, (uint8_t)VIDIOC_S_FMT, &fmt) < 0)
{
RARCH_ERR("Error - VIDIOC_S_FMT\n");
RARCH_ERR("[V4L2]: Error - VIDIOC_S_FMT\n");
return false;
}
@@ -202,18 +203,18 @@ static bool init_device(void *data)
*/
if (fmt.fmt.pix.pixelformat != V4L2_PIX_FMT_YUYV)
{
RARCH_ERR("The V4L2 device doesn't support YUYV.\n");
RARCH_ERR("[V4L2]: The V4L2 device doesn't support YUYV.\n");
return false;
}
if (fmt.fmt.pix.field != V4L2_FIELD_NONE
&& fmt.fmt.pix.field != V4L2_FIELD_INTERLACED)
{
RARCH_ERR("The V4L2 device doesn't support progressive nor interlaced video.\n");
RARCH_ERR("[V4L2]: The V4L2 device doesn't support progressive nor interlaced video.\n");
return false;
}
RARCH_LOG("V4L2 device: %u x %u.\n", v4l->width, v4l->height);
RARCH_LOG("[V4L2]: device: %u x %u.\n", v4l->width, v4l->height);
return init_mmap(v4l);
}
@@ -224,7 +225,7 @@ static void v4l_stop(void *data)
enum v4l2_buf_type type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
if (xioctl(v4l->fd, VIDIOC_STREAMOFF, &type) == -1)
RARCH_ERR("Error - VIDIOC_STREAMOFF.\n");
RARCH_ERR("[V4L2]: Error - VIDIOC_STREAMOFF.\n");
v4l->ready = false;
}
@@ -245,7 +246,7 @@ static bool v4l_start(void *data)
if (xioctl(v4l->fd, (uint8_t)VIDIOC_QBUF, &buf) == -1)
{
RARCH_ERR("Error - VIDIOC_QBUF.\n");
RARCH_ERR("[V4L2]: Error - VIDIOC_QBUF.\n");
return false;
}
}
@@ -254,7 +255,7 @@ static bool v4l_start(void *data)
if (xioctl(v4l->fd, VIDIOC_STREAMON, &type) == -1)
{
RARCH_ERR("Error - VIDIOC_STREAMON.\n");
RARCH_ERR("[V4L2]: Error - VIDIOC_STREAMON.\n");
return false;
}
@@ -270,7 +271,7 @@ static void v4l_free(void *data)
unsigned i;
for (i = 0; i < v4l->n_buffers; i++)
if (munmap(v4l->buffers[i].start, v4l->buffers[i].length) == -1)
RARCH_ERR("munmap failed.\n");
RARCH_ERR("[V4L2]: munmap failed.\n");
if (v4l->fd >= 0)
close(v4l->fd);
@@ -287,7 +288,7 @@ static void *v4l_init(const char *device, uint64_t caps,
if ((caps & (UINT64_C(1) << RETRO_CAMERA_BUFFER_RAW_FRAMEBUFFER)) == 0)
{
RARCH_ERR("video4linux2 returns raw framebuffers.\n");
RARCH_ERR("[V4L2]: Returns raw framebuffers.\n");
return NULL;
}
@@ -304,7 +305,7 @@ static void *v4l_init(const char *device, uint64_t caps,
if (!path_is_character_special(v4l->dev_name))
{
RARCH_ERR("%s is no device.\n", v4l->dev_name);
RARCH_ERR("[V4L2]: %s is no device.\n", v4l->dev_name);
goto error;
}
@@ -312,7 +313,7 @@ static void *v4l_init(const char *device, uint64_t caps,
if (v4l->fd == -1)
{
RARCH_ERR("Cannot open '%s': %d, %s\n", v4l->dev_name,
RARCH_ERR("[V4L2]: Cannot open '%s': %d, %s\n", v4l->dev_name,
errno, strerror(errno));
goto error;
}
@@ -325,7 +326,7 @@ static void *v4l_init(const char *device, uint64_t caps,
if (!v4l->buffer_output)
{
RARCH_ERR("Failed to allocate output buffer.\n");
RARCH_ERR("[V4L2]: Failed to allocate output buffer.\n");
goto error;
}
@@ -338,20 +339,21 @@ static void *v4l_init(const char *device, uint64_t caps,
if (!scaler_ctx_gen_filter(&v4l->scaler))
{
RARCH_ERR("Failed to create scaler.\n");
RARCH_ERR("[V4L2]: Failed to create scaler.\n");
goto error;
}
return v4l;
error:
RARCH_ERR("V4L2: Failed to initialize camera.\n");
RARCH_ERR("[V4L2]: Failed to initialize camera.\n");
v4l_free(v4l);
return NULL;
}
static bool preprocess_image(void *data)
{
struct scaler_ctx *ctx = NULL;
video4linux_t *v4l = (video4linux_t*)data;
struct v4l2_buffer buf = {0};
@@ -365,7 +367,7 @@ static bool preprocess_image(void *data)
case EAGAIN:
break;
default:
RARCH_ERR("VIDIOC_DQBUF.\n");
RARCH_ERR("[V4L2]: VIDIOC_DQBUF.\n");
break;
}
@@ -374,10 +376,12 @@ static bool preprocess_image(void *data)
retro_assert(buf.index < v4l->n_buffers);
scaler_ctx_scale(&v4l->scaler, v4l->buffer_output, (const uint8_t*)v4l->buffers[buf.index].start);
ctx = &v4l->scaler;
scaler_ctx_scale_direct(ctx, v4l->buffer_output, (const uint8_t*)v4l->buffers[buf.index].start);
if (xioctl(v4l->fd, (uint8_t)VIDIOC_QBUF, &buf) == -1)
RARCH_ERR("VIDIOC_QBUF\n");
RARCH_ERR("[V4L2]: VIDIOC_QBUF\n");
return true;
}
File diff suppressed because it is too large. Load diff
View File
File renamed without changes.
+83
View File
@@ -0,0 +1,83 @@
#ifndef CORO_H
#define CORO_H
/*
Released under the CC0: https://creativecommons.org/publicdomain/zero/1.0/
*/
/* Use at the beginning of the coroutine, you must have declared a variable coro_t* coro */
#define CORO_ENTER() \
{ \
CORO_again: ; \
switch ( coro->step ) { \
case CORO_BEGIN: ;
/* Use to define labels which are targets to GOTO and GOSUB */
#define CORO_SUB( x ) \
case x: ;
/* Use at the end of the coroutine */
#define CORO_LEAVE() \
} \
} \
do { return 0; } while ( 0 )
/* Go to the x label */
#define CORO_GOTO( x ) \
do { \
coro->step = ( x ); \
goto CORO_again; \
} while ( 0 )
/* Go to a subroutine, execution continues until the subroutine returns via RET */
/* x is the subroutine label, y and z are the A and B arguments */
#define CORO_GOSUB( x ) \
do { \
coro->stack[ coro->sp++ ] = __LINE__; \
coro->step = ( x ); \
goto CORO_again; \
case __LINE__: ; \
} while ( 0 )
/* Returns from a subroutine */
#define CORO_RET() \
do { \
coro->step = coro->stack[ --coro->sp ]; \
goto CORO_again; \
} while ( 0 )
/* Yields to the caller, execution continues from this point when the coroutine is resumed */
#define CORO_YIELD() \
do { \
coro->step = __LINE__; \
return 1; \
case __LINE__: ; \
} while ( 0 )
#define CORO_STOP() \
do { \
return 0; \
} while ( 0 )
/* The coroutine entry point, never use 0 as a label */
#define CORO_BEGIN 0
/* Sets up a coroutine, x is a pointer to coro_t */
#define CORO_SETUP( x ) \
do { \
( x )->step = CORO_BEGIN; \
( x )->sp = 0; \
} while ( 0 )
#define CORO_VAR( x ) ( coro->x )
/* A coroutine */
typedef struct
{
CORO_VARS
int step, sp;
int stack[ 8 ];
}
coro_t;
#endif /* CORO_H */
+320 -462
View File
File diff suppressed because it is too large. Load diff
+9 -4
View File
@@ -195,8 +195,6 @@ enum event_command
CMD_EVENT_AUDIO_REINIT,
/* Resizes windowed scale. Will reinitialize video driver. */
CMD_EVENT_RESIZE_WINDOWED_SCALE,
/* Deinitializes temporary content. */
CMD_EVENT_TEMPORARY_CONTENT_DEINIT,
CMD_EVENT_LOG_FILE_DEINIT,
/* Toggles disk eject. */
CMD_EVENT_DISK_EJECT_TOGGLE,
@@ -217,10 +215,15 @@ enum event_command
CMD_EVENT_PERFCNT_REPORT_FRONTEND_LOG,
CMD_EVENT_VOLUME_UP,
CMD_EVENT_VOLUME_DOWN,
CMD_EVENT_MIXER_VOLUME_UP,
CMD_EVENT_MIXER_VOLUME_DOWN,
CMD_EVENT_DISABLE_OVERRIDES,
CMD_EVENT_RESTORE_DEFAULT_SHADER_PRESET
CMD_EVENT_RESTORE_DEFAULT_SHADER_PRESET,
CMD_EVENT_LIBUI_TEST
};
bool command_set_shader(const char *arg);
#ifdef HAVE_COMMAND
#if defined(HAVE_NETWORKING) && defined(HAVE_NETWORK_CMD)
bool command_network_send(const char *cmd_);
@@ -233,7 +236,7 @@ bool command_network_new(
bool network_enable,
uint16_t port);
command_t *command_new(bool local_enable);
command_t *command_new(void);
bool command_poll(command_t *handle);
@@ -243,6 +246,8 @@ bool command_set(command_handle_t *handle);
bool command_free(command_t *handle);
bool command_event_quit(void);
/**
* command_event:
* @cmd : Command index.
+54 -383
View File
@@ -20,166 +20,12 @@
#include <boolean.h>
#include "gfx/video_defines.h"
#include "input/input_driver.h"
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "input/input_driver.h"
#include "config.def.keybinds.h"
enum video_driver_enum
{
VIDEO_GL = 0,
VIDEO_VULKAN,
VIDEO_DRM,
VIDEO_XVIDEO,
VIDEO_SDL,
VIDEO_SDL2,
VIDEO_EXT,
VIDEO_WII,
VIDEO_WIIU,
VIDEO_XENON360,
VIDEO_XDK_D3D,
VIDEO_PSP1,
VIDEO_VITA2D,
VIDEO_CTR,
VIDEO_D3D9,
VIDEO_VG,
VIDEO_OMAP,
VIDEO_EXYNOS,
VIDEO_SUNXI,
VIDEO_DISPMANX,
VIDEO_CACA,
VIDEO_GDI,
VIDEO_VGA,
VIDEO_NULL
};
enum audio_driver_enum
{
AUDIO_RSOUND = VIDEO_NULL + 1,
AUDIO_OSS,
AUDIO_ALSA,
AUDIO_ALSATHREAD,
AUDIO_ROAR,
AUDIO_AL,
AUDIO_SL,
AUDIO_JACK,
AUDIO_SDL,
AUDIO_SDL2,
AUDIO_XAUDIO,
AUDIO_PULSE,
AUDIO_EXT,
AUDIO_DSOUND,
AUDIO_COREAUDIO,
AUDIO_PS3,
AUDIO_XENON360,
AUDIO_WII,
AUDIO_WIIU,
AUDIO_RWEBAUDIO,
AUDIO_PSP,
AUDIO_CTR,
AUDIO_NULL
};
enum audio_resampler_driver_enum
{
AUDIO_RESAMPLER_CC = AUDIO_NULL + 1,
AUDIO_RESAMPLER_SINC,
AUDIO_RESAMPLER_NEAREST,
AUDIO_RESAMPLER_NULL
};
enum input_driver_enum
{
INPUT_ANDROID = AUDIO_RESAMPLER_NULL + 1,
INPUT_SDL,
INPUT_SDL2,
INPUT_X,
INPUT_WAYLAND,
INPUT_DINPUT,
INPUT_PS3,
INPUT_PSP,
INPUT_CTR,
INPUT_XENON360,
INPUT_WII,
INPUT_WIIU,
INPUT_XINPUT,
INPUT_UDEV,
INPUT_LINUXRAW,
INPUT_COCOA,
INPUT_QNX,
INPUT_RWEBINPUT,
INPUT_DOS,
INPUT_NULL
};
enum joypad_driver_enum
{
JOYPAD_PS3 = INPUT_NULL + 1,
JOYPAD_XINPUT,
JOYPAD_GX,
JOYPAD_WIIU,
JOYPAD_XDK,
JOYPAD_PSP,
JOYPAD_CTR,
JOYPAD_DINPUT,
JOYPAD_UDEV,
JOYPAD_LINUXRAW,
JOYPAD_ANDROID,
JOYPAD_SDL,
JOYPAD_DOS,
JOYPAD_HID,
JOYPAD_QNX,
JOYPAD_NULL
};
enum camera_driver_enum
{
CAMERA_V4L2 = JOYPAD_NULL + 1,
CAMERA_RWEBCAM,
CAMERA_ANDROID,
CAMERA_AVFOUNDATION,
CAMERA_NULL
};
enum wifi_driver_enum
{
WIFI_CONNMANCTL = CAMERA_NULL + 1,
WIFI_NULL
};
enum location_driver_enum
{
LOCATION_ANDROID = WIFI_NULL + 1,
LOCATION_CORELOCATION,
LOCATION_NULL
};
enum osk_driver_enum
{
OSK_PS3 = LOCATION_NULL + 1,
OSK_NULL
};
enum menu_driver_enum
{
MENU_RGUI = OSK_NULL + 1,
MENU_XUI,
MENU_MATERIALUI,
MENU_XMB,
MENU_NUKLEAR,
MENU_NULL
};
enum record_driver_enum
{
RECORD_FFMPEG = MENU_NULL + 1,
RECORD_NULL
};
#if defined(HW_RVL)
#define MAX_GAMMA_SETTING 30
#elif defined(GEKKO)
@@ -188,224 +34,6 @@ enum record_driver_enum
#define MAX_GAMMA_SETTING 1
#endif
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) || defined(__CELLOS_LV2__)
#define VIDEO_DEFAULT_DRIVER VIDEO_GL
#elif defined(GEKKO)
#define VIDEO_DEFAULT_DRIVER VIDEO_WII
#elif defined(WIIU)
#define VIDEO_DEFAULT_DRIVER VIDEO_WIIU
#elif defined(XENON)
#define VIDEO_DEFAULT_DRIVER VIDEO_XENON360
#elif (defined(_XBOX1) || defined(_XBOX360)) && (defined(HAVE_D3D8) || defined(HAVE_D3D9))
#define VIDEO_DEFAULT_DRIVER VIDEO_XDK_D3D
#elif defined(HAVE_D3D9)
#define VIDEO_DEFAULT_DRIVER VIDEO_D3D9
#elif defined(HAVE_VG)
#define VIDEO_DEFAULT_DRIVER VIDEO_VG
#elif defined(HAVE_VITA2D)
#define VIDEO_DEFAULT_DRIVER VIDEO_VITA2D
#elif defined(PSP)
#define VIDEO_DEFAULT_DRIVER VIDEO_PSP1
#elif defined(_3DS)
#define VIDEO_DEFAULT_DRIVER VIDEO_CTR
#elif defined(HAVE_XVIDEO)
#define VIDEO_DEFAULT_DRIVER VIDEO_XVIDEO
#elif defined(HAVE_SDL)
#define VIDEO_DEFAULT_DRIVER VIDEO_SDL
#elif defined(HAVE_SDL2)
#define VIDEO_DEFAULT_DRIVER VIDEO_SDL2
#elif defined(_WIN32) && !defined(_XBOX)
#define VIDEO_DEFAULT_DRIVER VIDEO_GDI
#elif defined(DJGPP)
#define VIDEO_DEFAULT_DRIVER VIDEO_VGA
#elif defined(HAVE_DYLIB) && !defined(ANDROID)
#define VIDEO_DEFAULT_DRIVER VIDEO_EXT
#else
#define VIDEO_DEFAULT_DRIVER VIDEO_NULL
#endif
#if defined(__CELLOS_LV2__)
#define AUDIO_DEFAULT_DRIVER AUDIO_PS3
#elif defined(XENON)
#define AUDIO_DEFAULT_DRIVER AUDIO_XENON360
#elif defined(GEKKO)
#define AUDIO_DEFAULT_DRIVER AUDIO_WII
#elif defined(WIIU)
#define AUDIO_DEFAULT_DRIVER AUDIO_WIIU
#elif defined(PSP) || defined(VITA)
#define AUDIO_DEFAULT_DRIVER AUDIO_PSP
#elif defined(_3DS)
#define AUDIO_DEFAULT_DRIVER AUDIO_CTR
#elif defined(HAVE_PULSE)
#define AUDIO_DEFAULT_DRIVER AUDIO_PULSE
#elif defined(HAVE_ALSA) && defined(HAVE_VIDEOCORE)
#define AUDIO_DEFAULT_DRIVER AUDIO_ALSATHREAD
#elif defined(HAVE_ALSA)
#define AUDIO_DEFAULT_DRIVER AUDIO_ALSA
#elif defined(HAVE_OSS)
#define AUDIO_DEFAULT_DRIVER AUDIO_OSS
#elif defined(HAVE_JACK)
#define AUDIO_DEFAULT_DRIVER AUDIO_JACK
#elif defined(HAVE_COREAUDIO)
#define AUDIO_DEFAULT_DRIVER AUDIO_COREAUDIO
#elif defined(HAVE_XAUDIO)
#define AUDIO_DEFAULT_DRIVER AUDIO_XAUDIO
#elif defined(HAVE_DSOUND)
#define AUDIO_DEFAULT_DRIVER AUDIO_DSOUND
#elif defined(HAVE_AL)
#define AUDIO_DEFAULT_DRIVER AUDIO_AL
#elif defined(HAVE_SL)
#define AUDIO_DEFAULT_DRIVER AUDIO_SL
#elif defined(EMSCRIPTEN)
#define AUDIO_DEFAULT_DRIVER AUDIO_RWEBAUDIO
#elif defined(HAVE_SDL)
#define AUDIO_DEFAULT_DRIVER AUDIO_SDL
#elif defined(HAVE_SDL2)
#define AUDIO_DEFAULT_DRIVER AUDIO_SDL2
#elif defined(HAVE_RSOUND)
#define AUDIO_DEFAULT_DRIVER AUDIO_RSOUND
#elif defined(HAVE_ROAR)
#define AUDIO_DEFAULT_DRIVER AUDIO_ROAR
#elif defined(HAVE_DYLIB) && !defined(ANDROID)
#define AUDIO_DEFAULT_DRIVER AUDIO_EXT
#else
#define AUDIO_DEFAULT_DRIVER AUDIO_NULL
#endif
#if defined(PSP) || defined(EMSCRIPTEN)
#define AUDIO_DEFAULT_RESAMPLER_DRIVER AUDIO_RESAMPLER_CC
#else
#define AUDIO_DEFAULT_RESAMPLER_DRIVER AUDIO_RESAMPLER_SINC
#endif
#if defined(HAVE_FFMPEG)
#define RECORD_DEFAULT_DRIVER RECORD_FFMPEG
#else
#define RECORD_DEFAULT_DRIVER RECORD_NULL
#endif
#if defined(XENON)
#define INPUT_DEFAULT_DRIVER INPUT_XENON360
#elif defined(_XBOX360) || defined(_XBOX) || defined(HAVE_XINPUT2) || defined(HAVE_XINPUT_XBOX1)
#define INPUT_DEFAULT_DRIVER INPUT_XINPUT
#elif defined(ANDROID)
#define INPUT_DEFAULT_DRIVER INPUT_ANDROID
#elif defined(EMSCRIPTEN) && defined(HAVE_SDL2)
#define INPUT_DEFAULT_DRIVER INPUT_SDL2
#elif defined(EMSCRIPTEN)
#define INPUT_DEFAULT_DRIVER INPUT_RWEBINPUT
#elif defined(_WIN32)
#define INPUT_DEFAULT_DRIVER INPUT_DINPUT
#elif defined(__CELLOS_LV2__)
#define INPUT_DEFAULT_DRIVER INPUT_PS3
#elif defined(PSP) || defined(VITA)
#define INPUT_DEFAULT_DRIVER INPUT_PSP
#elif defined(_3DS)
#define INPUT_DEFAULT_DRIVER INPUT_CTR
#elif defined(GEKKO)
#define INPUT_DEFAULT_DRIVER INPUT_WII
#elif defined(WIIU)
#define INPUT_DEFAULT_DRIVER INPUT_WIIU
#elif defined(HAVE_UDEV)
#define INPUT_DEFAULT_DRIVER INPUT_UDEV
#elif defined(__linux__) && !defined(ANDROID)
#define INPUT_DEFAULT_DRIVER INPUT_LINUXRAW
#elif defined(HAVE_X11)
#define INPUT_DEFAULT_DRIVER INPUT_X
#elif defined(HAVE_WAYLAND)
#define INPUT_DEFAULT_DRIVER INPUT_WAYLAND
#elif defined(HAVE_COCOA) || defined(HAVE_COCOATOUCH)
#define INPUT_DEFAULT_DRIVER INPUT_COCOA
#elif defined(__QNX__)
#define INPUT_DEFAULT_DRIVER INPUT_QNX
#elif defined(HAVE_SDL)
#define INPUT_DEFAULT_DRIVER INPUT_SDL
#elif defined(HAVE_SDL2)
#define INPUT_DEFAULT_DRIVER INPUT_SDL2
#elif defined(DJGPP)
#define INPUT_DEFAULT_DRIVER INPUT_DOS
#else
#define INPUT_DEFAULT_DRIVER INPUT_NULL
#endif
#if defined(__CELLOS_LV2__)
#define JOYPAD_DEFAULT_DRIVER JOYPAD_PS3
#elif defined(HAVE_XINPUT)
#define JOYPAD_DEFAULT_DRIVER JOYPAD_XINPUT
#elif defined(GEKKO)
#define JOYPAD_DEFAULT_DRIVER JOYPAD_GX
#elif defined(WIIU)
#define JOYPAD_DEFAULT_DRIVER JOYPAD_WIIU
#elif defined(_XBOX)
#define JOYPAD_DEFAULT_DRIVER JOYPAD_XDK
#elif defined(PSP) || defined(VITA)
#define JOYPAD_DEFAULT_DRIVER JOYPAD_PSP
#elif defined(_3DS)
#define JOYPAD_DEFAULT_DRIVER JOYPAD_CTR
#elif defined(HAVE_DINPUT)
#define JOYPAD_DEFAULT_DRIVER JOYPAD_DINPUT
#elif defined(HAVE_UDEV)
#define JOYPAD_DEFAULT_DRIVER JOYPAD_UDEV
#elif defined(__linux) && !defined(ANDROID)
#define JOYPAD_DEFAULT_DRIVER JOYPAD_LINUXRAW
#elif defined(ANDROID)
#define JOYPAD_DEFAULT_DRIVER JOYPAD_ANDROID
#elif defined(HAVE_SDL) || defined(HAVE_SDL2)
#define JOYPAD_DEFAULT_DRIVER JOYPAD_SDL
#elif defined(DJGPP)
#define JOYPAD_DEFAULT_DRIVER JOYPAD_DOS
#elif defined(HAVE_HID)
#define JOYPAD_DEFAULT_DRIVER JOYPAD_HID
#elif defined(__QNX__)
#define JOYPAD_DEFAULT_DRIVER JOYPAD_QNX
#else
#define JOYPAD_DEFAULT_DRIVER JOYPAD_NULL
#endif
#if defined(HAVE_V4L2)
#define CAMERA_DEFAULT_DRIVER CAMERA_V4L2
#elif defined(EMSCRIPTEN)
#define CAMERA_DEFAULT_DRIVER CAMERA_RWEBCAM
#elif defined(ANDROID)
#define CAMERA_DEFAULT_DRIVER CAMERA_ANDROID
#elif defined(HAVE_AVFOUNDATION) && (defined(HAVE_COCOA) || defined(HAVE_COCOATOUCH))
#define CAMERA_DEFAULT_DRIVER CAMERA_AVFOUNDATION
#else
#define CAMERA_DEFAULT_DRIVER CAMERA_NULL
#endif
#if defined(HAVE_LAKKA)
#define WIFI_DEFAULT_DRIVER WIFI_CONNMANCTL
#else
#define WIFI_DEFAULT_DRIVER WIFI_NULL
#endif
#if defined(ANDROID)
#define LOCATION_DEFAULT_DRIVER LOCATION_ANDROID
#elif defined(HAVE_CORELOCATION) && (defined(HAVE_COCOA) || defined(HAVE_COCOATOUCH))
#define LOCATION_DEFAULT_DRIVER LOCATION_CORELOCATION
#else
#define LOCATION_DEFAULT_DRIVER LOCATION_NULL
#endif
#if defined(__CELLOS_LV2__)
#define OSK_DEFAULT_DRIVER OSK_PS3
#else
#define OSK_DEFAULT_DRIVER OSK_NULL
#endif
#if defined(HAVE_XUI)
#define MENU_DEFAULT_DRIVER MENU_XUI
#elif defined(HAVE_MATERIALUI) && defined(RARCH_MOBILE)
#define MENU_DEFAULT_DRIVER MENU_MATERIALUI
#elif defined(HAVE_XMB)
#define MENU_DEFAULT_DRIVER MENU_XMB
#elif defined(HAVE_RGUI)
#define MENU_DEFAULT_DRIVER MENU_RGUI
#else
#define MENU_DEFAULT_DRIVER MENU_NULL
#endif
#if defined(XENON) || defined(_XBOX360) || defined(__CELLOS_LV2__)
#define DEFAULT_ASPECT_RATIO 1.7778f
#elif defined(_XBOX1) || defined(GEKKO) || defined(ANDROID)
@@ -420,8 +48,6 @@ static const bool pointer_enable = true;
static const bool pointer_enable = false;
#endif
/* Certain platforms might have assets stored in the bundle that
* we need to extract to a user-writable directory on first boot.
*
@@ -594,16 +220,24 @@ static unsigned aspect_ratio_idx = ASPECT_RATIO_CORE;
/* Save configuration file on exit. */
static bool config_save_on_exit = true;
static bool show_hidden_files = true;
static bool show_hidden_files = false;
static const bool overlay_hide_in_menu = true;
static const bool display_keyboard_overlay = false;
#ifdef HAVE_MENU
#include "menu/menu_display.h"
#include "menu/menu_driver.h"
static bool default_block_config_read = true;
static bool default_block_config_read = true;
static bool menu_show_online_updater = true;
#if defined(HAVE_LAKKA) || defined(VITA)
static bool menu_show_core_updater = false;
#else
static bool menu_show_core_updater = true;
#endif
#ifdef HAVE_XMB
static unsigned xmb_scale_factor = 100;
@@ -619,10 +253,13 @@ static bool xmb_show_settings = true;
#ifdef HAVE_IMAGEVIEWER
static bool xmb_show_images = true;
#endif
#ifdef HAVE_FFMPEG
static bool xmb_show_music = true;
#ifdef HAVE_FFMPEG
static bool xmb_show_video = true;
#endif
#ifdef HAVE_NETWORKING
static bool xmb_show_netplay = true;
#endif
static bool xmb_show_history = true;
#ifdef HAVE_LIBRETRODB
static bool xmb_show_add = true;
@@ -635,13 +272,11 @@ static float menu_footer_opacity = 1.000;
static float menu_header_opacity = 1.000;
#if defined(HAVE_CG) || defined(HAVE_HLSL) || defined(HAVE_GLSL) || defined(HAVE_VULKAN)
#if defined(HAVE_OPENGLES2) || (defined(__MACH__) && (defined(__ppc__) || defined(__ppc64__)))
static unsigned menu_shader_pipeline = 1;
#else
static unsigned menu_shader_pipeline = 2;
#endif
#endif
static bool show_advanced_settings = false;
static const uint32_t menu_entry_normal_color = 0xffffffff;
@@ -652,7 +287,7 @@ static const uint32_t menu_title_color = 0xff64ff64;
static bool default_block_config_read = false;
#endif
static bool default_game_specific_options = false;
static bool default_game_specific_options = true;
static bool default_auto_overrides_enable = true;
static bool default_auto_remaps_enable = true;
static bool default_auto_shaders_enable = true;
@@ -788,6 +423,16 @@ static const float max_timing_skew = 0.05;
/* Default audio volume in dB. (0.0 dB == unity gain). */
static const float audio_volume = 0.0;
/* Default audio volume of the audio mixer in dB. (0.0 dB == unity gain). */
static const float audio_mixer_volume = 0.0;
#ifdef HAVE_WASAPI
/* WASAPI defaults */
static const bool wasapi_exclusive_mode = true;
static const bool wasapi_float_format = false;
static const int wasapi_sh_buffer_length = -16; /* auto */
#endif
/* MISC */
/* Enables displaying the current frames per second. */
@@ -815,6 +460,18 @@ static const bool pause_nonactive = true;
* It is measured in seconds. A value of 0 disables autosave. */
static const unsigned autosave_interval = 0;
/* Publicly announce netplay */
static const bool netplay_public_announce = true;
/* Start netplay in spectator mode */
static const bool netplay_start_as_spectator = false;
/* Allow connections in slave mode */
static const bool netplay_allow_slaves = true;
/* Require connections only in slave mode */
static const bool netplay_require_slaves = false;
/* Netplay without savestates/rewind */
static const bool netplay_stateless_mode = false;
@@ -828,6 +485,8 @@ static const unsigned netplay_delay_frames = 16;
static const int netplay_check_frames = 30;
static const bool netplay_use_mitm_server = false;
/* On save state load, block SRAM from being overwritten.
* This could potentially lead to buggy games. */
static const bool block_sram_overwrite = false;
@@ -880,7 +539,7 @@ static const unsigned menu_dpi_override_value = 200;
#endif
/* Log level for libretro cores (GET_LOG_INTERFACE). */
static const unsigned libretro_log_level = 0;
static const unsigned libretro_log_level = 1;
#ifndef RARCH_DEFAULT_PORT
#define RARCH_DEFAULT_PORT 55435
@@ -925,6 +584,8 @@ static const bool ui_companion_enable = false;
#if defined(ANDROID)
#if defined(ANDROID_ARM)
static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/android/latest/armeabi-v7a/";
#elif defined(ANDROID_AARCH64)
static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/android/latest/arm64-v8a/";
#elif defined(ANDROID_X86)
static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/android/latest/x86/";
#else
@@ -943,11 +604,19 @@ static char buildbot_server_url[] = "http://bot.libretro.com/nightly/apple/osx/x
static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/apple/osx/ppc/latest/";
#endif
#elif defined(_WIN32) && !defined(_XBOX)
#if _MSC_VER == 1600
#if defined(__x86_64__)
static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/windows-msvc2010/x86_64/latest/";
#elif defined(__i386__) || defined(__i486__) || defined(__i686__) || defined(_M_IX86) || defined(_M_IA64)
static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/windows-msvc2010/x86/latest/";
#endif
#else
#if defined(__x86_64__)
static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/win-x86_64/latest/";
#elif defined(__i386__) || defined(__i486__) || defined(__i686__) || defined(_M_IX86) || defined(_M_IA64)
static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/win-x86/latest/";
#endif
#endif
#elif defined(__linux__)
#if defined(__x86_64__)
static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/linux/x86_64/latest/";
@@ -956,6 +625,8 @@ static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/linux/
#else
static char buildbot_server_url[] = "";
#endif
#elif defined(WIIU)
static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/nintendo/wiiu/latest/";
#else
static char buildbot_server_url[] = "";
#endif
+12
View File
@@ -134,6 +134,12 @@ static const bool _alsa_supp = true;
static const bool _alsa_supp = false;
#endif
#ifdef HAVE_TINYALSA
static const bool _tinyalsa_supp = true;
#else
static const bool _tinyalsa_supp = false;
#endif
#ifdef HAVE_COREAUDIO
static const bool _coreaudio_supp = true;
#else
@@ -194,6 +200,12 @@ static const bool _dsound_supp = true;
static const bool _dsound_supp = false;
#endif
#ifdef HAVE_WASAPI
static const bool _wasapi_supp = true;
#else
static const bool _wasapi_supp = false;
#endif
#ifdef HAVE_XAUDIO
static const bool _xaudio_supp = true;
#else
+1185 -704
View File
File diff suppressed because it is too large. Load diff
+346 -389
View File
@@ -23,6 +23,7 @@
#include <boolean.h>
#include <retro_common_api.h>
#include <retro_miscellaneous.h>
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -42,442 +43,398 @@ RETRO_BEGIN_DECLS
typedef struct settings
{
video_viewport_t video_viewport_custom;
char playlist_names[PATH_MAX_LENGTH];
char playlist_cores[PATH_MAX_LENGTH];
bool bundle_finished;
struct
{
char driver[32];
char context_driver[32];
float scale;
unsigned window_x;
unsigned window_y;
bool fullscreen;
bool windowed_fullscreen;
unsigned monitor_index;
unsigned fullscreen_x;
unsigned fullscreen_y;
bool vsync;
bool hard_sync;
bool black_frame_insertion;
unsigned max_swapchain_images;
unsigned swap_interval;
unsigned hard_sync_frames;
unsigned frame_delay;
bool placeholder;
/* Video */
bool video_fullscreen;
bool video_windowed_fullscreen;
bool video_vsync;
bool video_hard_sync;
bool video_black_frame_insertion;
#ifdef GEKKO
unsigned viwidth;
bool vfilter;
bool video_vfilter;
#endif
bool smooth;
bool force_aspect;
bool crop_overscan;
float aspect_ratio;
bool aspect_ratio_auto;
bool scale_integer;
unsigned aspect_ratio_idx;
unsigned rotation;
bool video_smooth;
bool video_force_aspect;
bool video_crop_overscan;
bool video_aspect_ratio_auto;
bool video_scale_integer;
bool video_shader_enable;
bool video_threaded;
bool video_font_enable;
bool video_disable_composition;
bool video_post_filter_record;
bool video_gpu_record;
bool video_gpu_screenshot;
bool video_allow_rotate;
bool video_shared_context;
bool video_force_srgb_disable;
bool video_fps_show;
bool shader_enable;
/* Audio */
bool audio_enable;
bool audio_sync;
bool audio_rate_control;
#ifdef HAVE_WASAPI
bool audio_wasapi_exclusive_mode;
bool audio_wasapi_float_format;
#endif
float refresh_rate;
bool threaded;
float font_size;
bool font_enable;
float msg_pos_x;
float msg_pos_y;
float msg_color_r;
float msg_color_g;
float msg_color_b;
bool disable_composition;
bool post_filter_record;
bool gpu_record;
bool gpu_screenshot;
bool allow_rotate;
bool shared_context;
bool force_srgb_disable;
} video;
struct
{
char driver[32];
} record;
struct
{
bool menubar_enable;
bool suspend_screensaver_enable;
bool companion_start_on_boot;
bool companion_enable;
} ui;
/* Input */
bool input_remap_binds_enable;
bool input_autodetect_enable;
bool input_overlay_enable;
bool input_overlay_enable_autopreferred;
bool input_overlay_hide_in_menu;
bool input_descriptor_label_show;
bool input_descriptor_hide_unbound;
bool input_all_users_control_menu;
bool input_menu_swap_ok_cancel_buttons;
#if defined(VITA)
bool input_backtouch_enable;
bool input_backtouch_toggle;
#endif
#if TARGET_OS_IPHONE
bool input_small_keyboard_enable;
#endif
bool input_keyboard_gamepad_enable;
#ifdef HAVE_MENU
struct
{
char driver[32];
bool pause_libretro;
bool timedate_enable;
bool battery_level_enable;
bool core_enable;
bool dynamic_wallpaper_enable;
unsigned thumbnails;
bool throttle;
struct
{
float opacity;
} wallpaper;
struct
{
float opacity;
} footer;
struct
{
float opacity;
} header;
struct
{
bool enable;
} mouse;
struct
{
bool enable;
} pointer;
struct
{
struct
{
bool enable;
} wraparound;
struct
{
struct
{
bool supported_extensions_enable;
} filter;
} browser;
} navigation;
struct
{
bool override_enable;
unsigned override_value;
} dpi;
bool show_advanced_settings;
unsigned entry_normal_color;
unsigned entry_hover_color;
unsigned title_color;
bool throttle_framerate;
bool linear_filter;
struct
{
unsigned shader_pipeline;
char font[PATH_MAX_LENGTH];
unsigned scale_factor;
unsigned alpha_factor;
unsigned theme;
unsigned menu_color_theme;
bool shadows_enable;
bool show_settings;
bool show_images;
bool show_music;
bool show_video;
bool show_history;
bool show_add;
} xmb;
struct
{
unsigned menu_color_theme;
} materialui;
bool unified_controls;
} menu;
/* Menu */
bool filter_by_current_core;
bool menu_show_start_screen;
bool menu_pause_libretro;
bool menu_timedate_enable;
bool menu_battery_level_enable;
bool menu_core_enable;
bool menu_dynamic_wallpaper_enable;
bool menu_throttle;
bool menu_mouse_enable;
bool menu_pointer_enable;
bool menu_navigation_wraparound_enable;
bool menu_navigation_browser_filter_supported_extensions_enable;
bool menu_dpi_override_enable;
bool menu_show_advanced_settings;
bool menu_throttle_framerate;
bool menu_linear_filter;
bool menu_show_online_updater;
bool menu_show_core_updater;
bool menu_xmb_shadows_enable;
bool menu_xmb_show_settings;
bool menu_xmb_show_images;
bool menu_xmb_show_music;
bool menu_xmb_show_video;
bool menu_xmb_show_netplay;
bool menu_xmb_show_history;
bool menu_xmb_show_add;
bool menu_unified_controls;
#endif
#ifdef HAVE_NETWORKING
/* Netplay */
bool netplay_public_announce;
bool netplay_start_as_spectator;
bool netplay_allow_slaves;
bool netplay_require_slaves;
bool netplay_stateless_mode;
bool netplay_swap_input;
bool netplay_nat_traversal;
bool netplay_use_mitm_server;
#endif
/* Network */
bool network_buildbot_auto_extract_archive;
/* UI */
bool ui_menubar_enable;
bool ui_suspend_screensaver_enable;
bool ui_companion_start_on_boot;
bool ui_companion_enable;
#ifdef HAVE_CHEEVOS
/* Cheevos */
bool cheevos_enable;
bool cheevos_test_unofficial;
bool cheevos_hardcore_mode_enable;
bool cheevos_verbose_enable;
#endif
/* Camera */
bool camera_allow;
/* WiFi */
bool wifi_allow;
/* Location */
bool location_allow;
/* Multimedia */
bool multimedia_builtin_mediaplayer_enable;
bool multimedia_builtin_imageviewer_enable;
/* Bundle */
bool bundle_finished;
bool bundle_assets_extract_enable;
/* Misc. */
#ifdef HAVE_THREADS
bool threaded_data_runloop_enable;
bool threaded_data_runloop_enable;
#endif
bool set_supports_no_game_enable;
bool auto_screenshot_filename;
bool history_list_enable;
bool playlist_entry_remove;
bool rewind_enable;
bool pause_nonactive;
bool block_sram_overwrite;
bool savestate_auto_index;
bool savestate_auto_save;
bool savestate_auto_load;
bool savestate_thumbnail_enable;
bool network_cmd_enable;
bool stdin_cmd_enable;
bool network_remote_enable;
bool network_remote_enable_user[MAX_USERS];
bool load_dummy_on_core_shutdown;
bool check_firmware_before_loading;
bool game_specific_options;
bool auto_overrides_enable;
bool auto_remaps_enable;
bool auto_shaders_enable;
bool sort_savefiles_enable;
bool sort_savestates_enable;
bool config_save_on_exit;
bool show_hidden_files;
#ifdef HAVE_LAKKA
bool ssh_enable;
bool samba_enable;
bool bluetooth_enable;
#endif
} bools;
struct
{
char driver[32];
char device[255];
bool allow;
unsigned width;
unsigned height;
} camera;
float placeholder;
float video_scale;
float video_aspect_ratio;
float video_refresh_rate;
float video_font_size;
float video_msg_pos_x;
float video_msg_pos_y;
float video_msg_color_r;
float video_msg_color_g;
float video_msg_color_b;
float menu_wallpaper_opacity;
float menu_footer_opacity;
float menu_header_opacity;
float audio_max_timing_skew;
float audio_volume; /* dB scale. */
float audio_mixer_volume; /* dB scale. */
float input_overlay_opacity;
float input_overlay_scale;
float slowmotion_ratio;
float fastforward_ratio;
} floats;
struct
{
char driver[32];
bool allow;
} wifi;
int placeholder;
int netplay_check_frames;
int location_update_interval_ms;
int location_update_interval_distance;
int state_slot;
#ifdef HAVE_WASAPI
int audio_wasapi_sh_buffer_length;
#endif
} ints;
struct
{
char driver[32];
bool allow;
int update_interval_ms;
int update_interval_distance;
} location;
struct
{
char driver[32];
char resampler[32];
char device[255];
bool enable;
bool mute_enable;
unsigned out_rate;
unsigned block_frames;
unsigned latency;
bool sync;
bool rate_control;
float rate_control_delta;
float max_timing_skew;
float volume; /* dB scale. */
} audio;
struct
{
char driver[32];
char joypad_driver[32];
char keyboard_layout[64];
char device_names[MAX_USERS][64];
unsigned remap_ids[MAX_USERS][RARCH_BIND_LIST_END];
struct retro_keybind binds[MAX_USERS][RARCH_BIND_LIST_END];
struct retro_keybind autoconf_binds[MAX_USERS][RARCH_BIND_LIST_END];
unsigned max_users;
unsigned placeholder;
unsigned audio_out_rate;
unsigned audio_block_frames;
unsigned audio_latency;
unsigned input_remap_ids[MAX_USERS][RARCH_BIND_LIST_END];
/* Set by autoconfiguration in joypad_autoconfig_dir.
* Does not override main binds. */
bool autoconfigured[MAX_USERS];
int vid[MAX_USERS];
int pid[MAX_USERS];
unsigned input_libretro_device[MAX_USERS];
unsigned input_analog_dpad_mode[MAX_USERS];
unsigned libretro_device[MAX_USERS];
unsigned analog_dpad_mode[MAX_USERS];
unsigned input_joypad_map[MAX_USERS];
unsigned input_device[MAX_USERS];
unsigned input_mouse_index[MAX_USERS];
bool remap_binds_enable;
float axis_threshold;
unsigned joypad_map[MAX_USERS];
unsigned device[MAX_USERS];
unsigned device_name_index[MAX_USERS];
bool autodetect_enable;
unsigned input_turbo_period;
unsigned input_turbo_duty_cycle;
unsigned turbo_period;
unsigned turbo_duty_cycle;
unsigned input_bind_timeout;
bool overlay_enable;
bool overlay_enable_autopreferred;
bool overlay_hide_in_menu;
float overlay_opacity;
float overlay_scale;
unsigned bind_timeout;
bool input_descriptor_label_show;
bool input_descriptor_hide_unbound;
unsigned menu_toggle_gamepad_combo;
bool all_users_control_menu;
bool menu_swap_ok_cancel_buttons;
#if defined(VITA)
bool backtouch_enable;
bool backtouch_toggle;
unsigned input_menu_toggle_gamepad_combo;
unsigned input_keyboard_gamepad_mapping_type;
unsigned input_poll_type_behavior;
unsigned netplay_port;
unsigned netplay_input_latency_frames_min;
unsigned netplay_input_latency_frames_range;
unsigned bundle_assets_extract_version_current;
unsigned bundle_assets_extract_last_version;
unsigned content_history_size;
unsigned libretro_log_level;
unsigned rewind_granularity;
unsigned autosave_interval;
unsigned network_cmd_port;
unsigned network_remote_base_port;
unsigned video_window_x;
unsigned video_window_y;
unsigned video_monitor_index;
unsigned video_fullscreen_x;
unsigned video_fullscreen_y;
unsigned video_max_swapchain_images;
unsigned video_swap_interval;
unsigned video_hard_sync_frames;
unsigned video_frame_delay;
#ifdef GEKKO
unsigned video_viwidth;
#endif
#if TARGET_OS_IPHONE
bool small_keyboard_enable;
unsigned video_aspect_ratio_idx;
unsigned video_rotation;
unsigned menu_thumbnails;
unsigned menu_dpi_override_value;
unsigned menu_entry_normal_color;
unsigned menu_entry_hover_color;
unsigned menu_title_color;
unsigned menu_xmb_shader_pipeline;
unsigned menu_xmb_scale_factor;
unsigned menu_xmb_alpha_factor;
unsigned menu_xmb_theme;
unsigned menu_xmb_color_theme;
unsigned menu_materialui_color_theme;
unsigned camera_width;
unsigned camera_height;
} uints;
struct
{
char placeholder;
char playlist_names[PATH_MAX_LENGTH];
char playlist_cores[PATH_MAX_LENGTH];
char video_driver[32];
char record_driver[32];
char camera_driver[32];
char wifi_driver[32];
char location_driver[32];
#ifdef HAVE_MENU
char menu_driver[32];
#endif
bool keyboard_gamepad_enable;
unsigned keyboard_gamepad_mapping_type;
unsigned poll_type_behavior;
} input;
struct
{
unsigned mode;
} archive;
struct
{
char buildbot_url[255];
char buildbot_assets_url[255];
bool buildbot_auto_extract_archive;
} network;
bool set_supports_no_game_enable;
struct
{
bool builtin_mediaplayer_enable;
bool builtin_imageviewer_enable;
} multimedia;
char audio_device[255];
char camera_device[255];
#ifdef HAVE_CHEEVOS
struct
{
bool enable;
bool test_unofficial;
bool hardcore_mode_enable;
char username[32];
char password[32];
} cheevos;
char cheevos_username[32];
char cheevos_password[32];
#endif
char browse_url[4096];
int state_slot;
bool bundle_assets_extract_enable;
unsigned bundle_assets_extract_version_current;
unsigned bundle_assets_extract_last_version;
struct
{
char cheat_database[PATH_MAX_LENGTH];
char content_database[PATH_MAX_LENGTH];
char overlay[PATH_MAX_LENGTH];
char menu_wallpaper[PATH_MAX_LENGTH];
char audio_dsp_plugin[PATH_MAX_LENGTH];
char softfilter_plugin[PATH_MAX_LENGTH];
char core_options[PATH_MAX_LENGTH];
char content_history[PATH_MAX_LENGTH];
char content_music_history[PATH_MAX_LENGTH];
char content_image_history[PATH_MAX_LENGTH];
char content_video_history[PATH_MAX_LENGTH];
char libretro_info[PATH_MAX_LENGTH];
char cheat_settings[PATH_MAX_LENGTH];
char video_context_driver[32];
char audio_driver[32];
char audio_resampler[32];
char input_driver[32];
char input_joypad_driver[32];
char input_keyboard_layout[64];
char bundle_assets_src[PATH_MAX_LENGTH];
char bundle_assets_dst[PATH_MAX_LENGTH];
char bundle_assets_dst_subdir[PATH_MAX_LENGTH];
char shader[PATH_MAX_LENGTH];
char font[PATH_MAX_LENGTH];
} path;
} arrays;
struct
{
char audio_filter[PATH_MAX_LENGTH];
char autoconfig[PATH_MAX_LENGTH];
char video_filter[PATH_MAX_LENGTH];
char video_shader[PATH_MAX_LENGTH];
char content_history[PATH_MAX_LENGTH];
char libretro[PATH_MAX_LENGTH];
char cursor[PATH_MAX_LENGTH];
char input_remapping[PATH_MAX_LENGTH];
char overlay[PATH_MAX_LENGTH];
char resampler[PATH_MAX_LENGTH];
char screenshot[PATH_MAX_LENGTH];
char system[PATH_MAX_LENGTH];
char cache[PATH_MAX_LENGTH];
char playlist[PATH_MAX_LENGTH];
char core_assets[PATH_MAX_LENGTH];
char assets[PATH_MAX_LENGTH];
char dynamic_wallpapers[PATH_MAX_LENGTH];
char thumbnails[PATH_MAX_LENGTH];
char menu_config[PATH_MAX_LENGTH];
char menu_content[PATH_MAX_LENGTH];
} directory;
char placeholder;
char browse_url[4096];
#ifdef HAVE_MENU
char path_menu_xmb_font[PATH_MAX_LENGTH];
#endif
char path_cheat_database[PATH_MAX_LENGTH];
char path_content_database[PATH_MAX_LENGTH];
char path_overlay[PATH_MAX_LENGTH];
char path_menu_wallpaper[PATH_MAX_LENGTH];
char path_audio_dsp_plugin[PATH_MAX_LENGTH];
char path_softfilter_plugin[PATH_MAX_LENGTH];
char path_core_options[PATH_MAX_LENGTH];
char path_content_history[PATH_MAX_LENGTH];
char path_content_music_history[PATH_MAX_LENGTH];
char path_content_image_history[PATH_MAX_LENGTH];
char path_content_video_history[PATH_MAX_LENGTH];
char path_libretro_info[PATH_MAX_LENGTH];
char path_cheat_settings[PATH_MAX_LENGTH];
char path_shader[PATH_MAX_LENGTH];
char path_font[PATH_MAX_LENGTH];
char network_buildbot_url[255];
char network_buildbot_assets_url[255];
char directory_audio_filter[PATH_MAX_LENGTH];
char directory_autoconfig[PATH_MAX_LENGTH];
char directory_video_filter[PATH_MAX_LENGTH];
char directory_video_shader[PATH_MAX_LENGTH];
char directory_content_history[PATH_MAX_LENGTH];
char directory_libretro[PATH_MAX_LENGTH];
char directory_cursor[PATH_MAX_LENGTH];
char directory_input_remapping[PATH_MAX_LENGTH];
char directory_overlay[PATH_MAX_LENGTH];
char directory_resampler[PATH_MAX_LENGTH];
char directory_screenshot[PATH_MAX_LENGTH];
char directory_system[PATH_MAX_LENGTH];
char directory_cache[PATH_MAX_LENGTH];
char directory_playlist[PATH_MAX_LENGTH];
char directory_core_assets[PATH_MAX_LENGTH];
char directory_assets[PATH_MAX_LENGTH];
char directory_dynamic_wallpapers[PATH_MAX_LENGTH];
char directory_thumbnails[PATH_MAX_LENGTH];
char directory_menu_config[PATH_MAX_LENGTH];
char directory_menu_content[PATH_MAX_LENGTH];
#ifdef HAVE_NETWORKING
struct
{
char server[255];
unsigned port;
bool stateless_mode;
int check_frames;
unsigned input_latency_frames_min;
unsigned input_latency_frames_range;
bool swap_input;
bool nat_traversal;
char password[128];
char spectate_password[128];
} netplay;
char netplay_server[255];
char netplay_password[128];
char netplay_spectate_password[128];
#endif
char username[32];
} paths;
unsigned content_history_size;
bool modified;
unsigned libretro_log_level;
video_viewport_t video_viewport_custom;
bool auto_screenshot_filename;
bool history_list_enable;
bool playlist_entry_remove;
bool rewind_enable;
size_t rewind_buffer_size;
unsigned rewind_granularity;
float slowmotion_ratio;
float fastforward_ratio;
bool pause_nonactive;
unsigned autosave_interval;
bool block_sram_overwrite;
bool savestate_auto_index;
bool savestate_auto_save;
bool savestate_auto_load;
bool savestate_thumbnail_enable;
bool network_cmd_enable;
unsigned network_cmd_port;
bool stdin_cmd_enable;
bool network_remote_enable;
bool network_remote_enable_user[MAX_USERS];
unsigned network_remote_base_port;
#if defined(HAVE_MENU)
bool menu_show_start_screen;
#endif
bool fps_show;
bool load_dummy_on_core_shutdown;
bool check_firmware_before_loading;
bool game_specific_options;
bool auto_overrides_enable;
bool auto_remaps_enable;
bool auto_shaders_enable;
bool sort_savefiles_enable;
bool sort_savestates_enable;
char username[32];
#ifdef HAVE_LANGEXTRA
unsigned int user_language;
#endif
bool config_save_on_exit;
bool show_hidden_files;
#ifdef HAVE_LAKKA
bool ssh_enable;
bool samba_enable;
bool bluetooth_enable;
#endif
} settings_t;
#define configuration_set_float(settings, var, newvar) \
settings->modified = true; \
var = newvar
#define configuration_set_bool(settings, var, newvar) \
settings->modified = true; \
var = newvar
#define configuration_set_uint(settings, var, newvar) \
settings->modified = true; \
var = newvar
#define configuration_set_int(settings, var, newvar) \
settings->modified = true; \
var = newvar
/**
* config_get_default_camera:
*
+3 -3
View File
@@ -1,7 +1,7 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2014 - Hans-Kristian Arntzen
* Copyright (C) 2011-2016 - Daniel De Matteis
* Copyright (C) 2016 - Brad Parker
* Copyright (C) 2011-2017 - Daniel De Matteis
* Copyright (C) 2016-2017 - Brad Parker
*
* RetroArch is free software: you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Found-
@@ -66,7 +66,7 @@ void content_set_does_not_need_content(void);
void content_unset_does_not_need_content(void);
bool content_get_crc(uint32_t **content_crc_ptr);
uint32_t content_get_crc(void);
void content_deinit(void);
+4 -13
View File
@@ -60,6 +60,7 @@ typedef struct rarch_system_info
unsigned rotation;
unsigned performance_level;
bool load_no_content;
const char *input_desc_btn[MAX_USERS][RARCH_FIRST_META_KEY];
char valid_extensions[255];
@@ -141,14 +142,6 @@ typedef struct retro_ctx_environ_info
retro_environment_t env;
} retro_ctx_environ_info_t;
typedef struct retro_ctx_frame_info
{
const void *data;
unsigned width;
unsigned height;
size_t pitch;
} retro_ctx_frame_info_t;
typedef struct retro_callbacks
{
retro_video_refresh_t frame_cb;
@@ -162,7 +155,7 @@ bool core_load(unsigned poll_type_behavior);
bool core_unload(void);
bool core_set_default_callbacks(void *data);
bool core_set_default_callbacks(struct retro_callbacks *cbs);
bool core_set_rewind_callbacks(void);
@@ -185,10 +178,6 @@ bool core_unload_game(void);
bool core_reset(void);
void core_frame(retro_ctx_frame_info_t *info);
bool core_poll(void);
bool core_set_environment(retro_ctx_environ_info_t *info);
bool core_serialize_size(retro_ctx_size_info_t *info);
@@ -249,6 +238,8 @@ bool core_is_inited(void);
bool core_is_game_loaded(void);
extern struct retro_callbacks retro_ctx;
RETRO_END_DECLS
#endif
+93 -114
View File
@@ -1,8 +1,8 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2014 - Hans-Kristian Arntzen
* Copyright (C) 2011-2016 - Daniel De Matteis
* Copyright (C) 2011-2017 - Daniel De Matteis
* Copyright (C) 2012-2015 - Michael Lelli
* Copyright (C) 2016 - Brad Parker
* Copyright (C) 2016-2017 - Brad Parker
*
* RetroArch is free software: you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Found-
@@ -44,39 +44,44 @@
#include "gfx/video_driver.h"
#include "audio/audio_driver.h"
static unsigned core_poll_type = POLL_TYPE_EARLY;
static bool core_inited = false;
static bool core_symbols_inited = false;
static bool core_game_loaded = false;
static bool core_input_polled = false;
static bool core_has_set_input_descriptors = false;
static uint64_t core_serialization_quirks_v = 0;
struct retro_callbacks retro_ctx;
struct retro_core_t current_core;
static struct retro_callbacks retro_ctx;
static struct retro_core_t core;
static void retro_run_null(void)
{
}
static void retro_frame_null(const void *data, unsigned width,
unsigned height, size_t pitch)
{
}
static void retro_input_poll_null(void)
{
}
static void core_input_state_poll_maybe(void)
{
if (core_poll_type == POLL_TYPE_NORMAL)
if (current_core.poll_type == POLL_TYPE_NORMAL)
input_poll();
}
static int16_t core_input_state_poll(unsigned port,
unsigned device, unsigned idx, unsigned id)
{
if (core_poll_type == POLL_TYPE_LATE)
if (current_core.poll_type == POLL_TYPE_LATE)
{
if (!core_input_polled)
if (!current_core.input_polled)
input_poll();
core_input_polled = true;
current_core.input_polled = true;
}
return input_state(port, device, idx, id);
}
void core_set_input_state(retro_ctx_input_state_info_t *info)
{
core.retro_set_input_state(info->cb);
current_core.retro_set_input_state(info->cb);
}
/**
@@ -86,18 +91,13 @@ void core_set_input_state(retro_ctx_input_state_info_t *info)
* Initializes libretro callbacks, and binds the libretro callbacks
* to default callback functions.
**/
static bool core_init_libretro_cbs(void *data)
static bool core_init_libretro_cbs(struct retro_callbacks *cbs)
{
struct retro_callbacks *cbs = (struct retro_callbacks*)data;
if (!cbs)
return false;
core.retro_set_video_refresh(video_driver_frame);
core.retro_set_audio_sample(audio_driver_sample);
core.retro_set_audio_sample_batch(audio_driver_sample_batch);
core.retro_set_input_state(core_input_state_poll);
core.retro_set_input_poll(core_input_state_poll_maybe);
current_core.retro_set_video_refresh(video_driver_frame);
current_core.retro_set_audio_sample(audio_driver_sample);
current_core.retro_set_audio_sample_batch(audio_driver_sample_batch);
current_core.retro_set_input_state(core_input_state_poll);
current_core.retro_set_input_poll(core_input_state_poll_maybe);
core_set_default_callbacks(cbs);
@@ -117,13 +117,8 @@ static bool core_init_libretro_cbs(void *data)
*
* Binds the libretro callbacks to default callback functions.
**/
bool core_set_default_callbacks(void *data)
bool core_set_default_callbacks(struct retro_callbacks *cbs)
{
struct retro_callbacks *cbs = (struct retro_callbacks*)data;
if (!cbs)
return false;
cbs->frame_cb = video_driver_frame;
cbs->sample_cb = audio_driver_sample;
cbs->sample_batch_cb = audio_driver_sample_batch;
@@ -141,13 +136,13 @@ bool core_deinit(void *data)
if (!cbs)
return false;
cbs->frame_cb = NULL;
cbs->frame_cb = retro_frame_null;
cbs->sample_cb = NULL;
cbs->sample_batch_cb = NULL;
cbs->state_cb = NULL;
cbs->poll_cb = NULL;
cbs->poll_cb = retro_input_poll_null;
core_inited = false;
current_core.inited = false;
return true;
}
@@ -167,13 +162,13 @@ bool core_set_rewind_callbacks(void)
{
if (state_manager_frame_is_reversed())
{
core.retro_set_audio_sample(audio_driver_sample_rewind);
core.retro_set_audio_sample_batch(audio_driver_sample_batch_rewind);
current_core.retro_set_audio_sample(audio_driver_sample_rewind);
current_core.retro_set_audio_sample_batch(audio_driver_sample_batch_rewind);
}
else
{
core.retro_set_audio_sample(audio_driver_sample);
core.retro_set_audio_sample_batch(audio_driver_sample_batch);
current_core.retro_set_audio_sample(audio_driver_sample);
current_core.retro_set_audio_sample_batch(audio_driver_sample_batch);
}
return true;
}
@@ -188,13 +183,13 @@ bool core_set_rewind_callbacks(void)
bool core_set_netplay_callbacks(void)
{
/* Force normal poll type for netplay. */
core_poll_type = POLL_TYPE_NORMAL;
current_core.poll_type = POLL_TYPE_NORMAL;
/* And use netplay's interceding callbacks */
core.retro_set_video_refresh(video_frame_net);
core.retro_set_audio_sample(audio_sample_net);
core.retro_set_audio_sample_batch(audio_sample_batch_net);
core.retro_set_input_state(input_state_net);
current_core.retro_set_video_refresh(video_frame_net);
current_core.retro_set_audio_sample(audio_sample_net);
current_core.retro_set_audio_sample_batch(audio_sample_batch_net);
current_core.retro_set_input_state(input_state_net);
return true;
}
@@ -211,10 +206,10 @@ bool core_unset_netplay_callbacks(void)
if (!core_set_default_callbacks(&cbs))
return false;
core.retro_set_video_refresh(cbs.frame_cb);
core.retro_set_audio_sample(cbs.sample_cb);
core.retro_set_audio_sample_batch(cbs.sample_batch_cb);
core.retro_set_input_state(cbs.state_cb);
current_core.retro_set_video_refresh(cbs.frame_cb);
current_core.retro_set_audio_sample(cbs.sample_cb);
current_core.retro_set_audio_sample_batch(cbs.sample_batch_cb);
current_core.retro_set_input_state(cbs.state_cb);
return true;
}
@@ -222,13 +217,13 @@ bool core_unset_netplay_callbacks(void)
bool core_set_cheat(retro_ctx_cheat_info_t *info)
{
core.retro_cheat_set(info->index, info->enabled, info->code);
current_core.retro_cheat_set(info->index, info->enabled, info->code);
return true;
}
bool core_reset_cheat(void)
{
core.retro_cheat_reset();
current_core.retro_cheat_reset();
return true;
}
@@ -236,29 +231,30 @@ bool core_api_version(retro_ctx_api_info_t *api)
{
if (!api)
return false;
api->version = core.retro_api_version();
api->version = current_core.retro_api_version();
return true;
}
bool core_set_poll_type(unsigned *type)
{
core_poll_type = *type;
current_core.poll_type = *type;
return true;
}
void core_uninit_symbols(void)
{
uninit_libretro_sym(&core);
core_symbols_inited = false;
uninit_libretro_sym(&current_core);
current_core.symbols_inited = false;
}
bool core_init_symbols(enum rarch_core_type *type)
{
if (!type)
if (!type || !init_libretro_sym(*type, &current_core))
return false;
if (!init_libretro_sym(*type, &core))
return false;
core_symbols_inited = true;
if (!current_core.retro_run)
current_core.retro_run = retro_run_null;
current_core.symbols_inited = true;
return true;
}
@@ -266,7 +262,7 @@ bool core_set_controller_port_device(retro_ctx_controller_info_t *pad)
{
if (!pad)
return false;
core.retro_set_controller_port_device(pad->port, pad->device);
current_core.retro_set_controller_port_device(pad->port, pad->device);
return true;
}
@@ -274,8 +270,8 @@ bool core_get_memory(retro_ctx_memory_info_t *info)
{
if (!info)
return false;
info->size = core.retro_get_memory_size(info->id);
info->data = core.retro_get_memory_data(info->id);
info->size = current_core.retro_get_memory_size(info->id);
info->data = current_core.retro_get_memory_data(info->id);
return true;
}
@@ -287,31 +283,29 @@ bool core_load_game(retro_ctx_load_content_info_t *load_info)
content_get_status(&contentless, &is_inited);
if (load_info && load_info->special)
core_game_loaded = core.retro_load_game_special(
current_core.game_loaded = current_core.retro_load_game_special(
load_info->special->id, load_info->info, load_info->content->size);
else if (load_info && !string_is_empty(load_info->content->elems[0].data))
core_game_loaded = core.retro_load_game(load_info->info);
current_core.game_loaded = current_core.retro_load_game(load_info->info);
else if (contentless)
core_game_loaded = core.retro_load_game(NULL);
current_core.game_loaded = current_core.retro_load_game(NULL);
else
core_game_loaded = false;
current_core.game_loaded = false;
return core_game_loaded;
return current_core.game_loaded;
}
bool core_get_system_info(struct retro_system_info *system)
{
if (!system)
return false;
core.retro_get_system_info(system);
current_core.retro_get_system_info(system);
return true;
}
bool core_unserialize(retro_ctx_serialize_info_t *info)
{
if (!info)
return false;
if (!core.retro_unserialize(info->data_const, info->size))
if (!info || !current_core.retro_unserialize(info->data_const, info->size))
return false;
#if HAVE_NETWORKING
@@ -323,9 +317,7 @@ bool core_unserialize(retro_ctx_serialize_info_t *info)
bool core_serialize(retro_ctx_serialize_info_t *info)
{
if (!info)
return false;
if (!core.retro_serialize(info->data, info->size))
if (!info || !current_core.retro_serialize(info->data, info->size))
return false;
return true;
}
@@ -334,40 +326,25 @@ bool core_serialize_size(retro_ctx_size_info_t *info)
{
if (!info)
return false;
info->size = core.retro_serialize_size();
info->size = current_core.retro_serialize_size();
return true;
}
uint64_t core_serialization_quirks(void)
{
return core_serialization_quirks_v;
return current_core.serialization_quirks_v;
}
void core_set_serialization_quirks(uint64_t quirks)
{
core_serialization_quirks_v = quirks;
}
void core_frame(retro_ctx_frame_info_t *info)
{
if (retro_ctx.frame_cb)
retro_ctx.frame_cb(
info->data, info->width, info->height, info->pitch);
}
bool core_poll(void)
{
if (!retro_ctx.poll_cb)
return false;
retro_ctx.poll_cb();
return true;
current_core.serialization_quirks_v = quirks;
}
bool core_set_environment(retro_ctx_environ_info_t *info)
{
if (!info)
return false;
core.retro_set_environment(info->env);
current_core.retro_set_environment(info->env);
return true;
}
@@ -375,26 +352,26 @@ bool core_get_system_av_info(struct retro_system_av_info *av_info)
{
if (!av_info)
return false;
core.retro_get_system_av_info(av_info);
current_core.retro_get_system_av_info(av_info);
return true;
}
bool core_reset(void)
{
core.retro_reset();
current_core.retro_reset();
return true;
}
bool core_init(void)
{
core.retro_init();
core_inited = true;
current_core.retro_init();
current_core.inited = true;
return true;
}
bool core_unload(void)
{
core.retro_deinit();
current_core.retro_deinit();
return true;
}
@@ -403,8 +380,10 @@ bool core_unload_game(void)
{
video_driver_free_hw_context();
audio_driver_stop();
core.retro_unload_game();
core_game_loaded = false;
current_core.retro_unload_game();
current_core.game_loaded = false;
return true;
}
@@ -421,21 +400,21 @@ bool core_run(void)
}
#endif
switch (core_poll_type)
switch (current_core.poll_type)
{
case POLL_TYPE_EARLY:
input_poll();
break;
case POLL_TYPE_LATE:
core_input_polled = false;
current_core.input_polled = false;
break;
default:
break;
}
if (core.retro_run)
core.retro_run();
if (core_poll_type == POLL_TYPE_LATE && !core_input_polled)
current_core.retro_run();
if (current_core.poll_type == POLL_TYPE_LATE && !current_core.input_polled)
input_poll();
#ifdef HAVE_NETWORKING
@@ -447,7 +426,7 @@ bool core_run(void)
bool core_load(unsigned poll_type_behavior)
{
core_poll_type = poll_type_behavior;
current_core.poll_type = poll_type_behavior;
if (!core_verify_api_version())
return false;
@@ -461,7 +440,7 @@ bool core_load(unsigned poll_type_behavior)
bool core_verify_api_version(void)
{
unsigned api_version = core.retro_api_version();
unsigned api_version = current_core.retro_api_version();
RARCH_LOG("%s: %u\n",
msg_hash_to_str(MSG_VERSION_OF_LIBRETRO_API),
api_version);
@@ -481,36 +460,36 @@ bool core_get_region(retro_ctx_region_info_t *info)
{
if (!info)
return false;
info->region = core.retro_get_region();
info->region = current_core.retro_get_region();
return true;
}
bool core_has_set_input_descriptor(void)
{
return core_has_set_input_descriptors;
return current_core.has_set_input_descriptors;
}
void core_set_input_descriptors(void)
{
core_has_set_input_descriptors = true;
current_core.has_set_input_descriptors = true;
}
void core_unset_input_descriptors(void)
{
core_has_set_input_descriptors = false;
current_core.has_set_input_descriptors = false;
}
bool core_is_inited(void)
{
return core_inited;
return current_core.inited;
}
bool core_is_symbols_inited(void)
{
return core_symbols_inited;
return current_core.symbols_inited;
}
bool core_is_game_loaded(void)
{
return core_game_loaded;
return current_core.game_loaded;
}
+60 -47
View File
@@ -1,8 +1,7 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2014 - Hans-Kristian Arntzen
* Copyright (C) 2011-2016 - Daniel De Matteis
* Copyright (C) 2013-2015 - Jason Fetters
* Copyright (C) 2016 - Brad Parker
* Copyright (C) 2011-2017 - Daniel De Matteis
* Copyright (C) 2016-2017 - Brad Parker
*
* RetroArch is free software: you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Found-
@@ -22,13 +21,11 @@
#include <lists/dir_list.h>
#include <file/archive_file.h>
#include <retro_stat.h>
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "runloop.h"
#include "retroarch.h"
#include "verbosity.h"
#include "config.def.h"
@@ -59,6 +56,8 @@ static void core_info_list_resolve_all_extensions(
(strlen(core_info_list->list[i].supported_extensions) + 2);
}
all_ext_len += strlen("7z|") + strlen("zip|");
if (all_ext_len)
all_ext = (char*)calloc(1, all_ext_len);
@@ -76,6 +75,12 @@ static void core_info_list_resolve_all_extensions(
core_info_list->list[i].supported_extensions, all_ext_len);
strlcat(core_info_list->all_ext, "|", all_ext_len);
}
#ifdef HAVE_7ZIP
strlcat(core_info_list->all_ext, "7z|", all_ext_len);
#endif
#ifdef HAVE_ZLIB
strlcat(core_info_list->all_ext, "zip|", all_ext_len);
#endif
}
static void core_info_list_resolve_all_firmware(
@@ -209,8 +214,8 @@ static bool core_info_list_iterate(
sizeof(info_path_base));
fill_pathname_join(s,
(!string_is_empty(settings->path.libretro_info)) ?
settings->path.libretro_info : settings->directory.libretro,
(!string_is_empty(settings->paths.path_libretro_info)) ?
settings->paths.path_libretro_info : settings->paths.directory_libretro,
info_path_base, len);
return true;
@@ -500,7 +505,7 @@ static bool core_info_list_update_missing_firmware_internal(
if (!info)
return false;
runloop_ctl(RUNLOOP_CTL_UNSET_MISSING_BIOS, NULL);
rarch_ctl(RARCH_CTL_UNSET_MISSING_BIOS, NULL);
for (i = 0; i < info->firmware_count; i++)
{
if (string_is_empty(info->firmware[i].path))
@@ -511,7 +516,7 @@ static bool core_info_list_update_missing_firmware_internal(
info->firmware[i].missing = !path_file_exists(path);
if (info->firmware[i].missing && !info->firmware[i].optional)
{
runloop_ctl(RUNLOOP_CTL_SET_MISSING_BIOS, NULL);
rarch_ctl(RARCH_CTL_SET_MISSING_BIOS, NULL);
RARCH_WARN("Firmware missing: %s\n", info->firmware[i].path);
}
}
@@ -603,7 +608,7 @@ bool core_info_init_list(void)
settings_t *settings = config_get_ptr();
if (settings)
core_info_curr_list = core_info_list_new(settings->directory.libretro);
core_info_curr_list = core_info_list_new(settings->paths.directory_libretro);
if (!core_info_curr_list)
return false;
@@ -719,7 +724,7 @@ void core_info_get_name(const char *path, char *s, size_t len)
size_t i;
settings_t *settings = config_get_ptr();
struct string_list *contents = dir_list_new_special(
settings->directory.libretro,
settings->paths.directory_libretro,
DIR_LIST_CORES, NULL);
if (!contents)
@@ -820,61 +825,69 @@ bool core_info_unsupported_content_path(const char *path)
bool core_info_database_supports_content_path(const char *database_path, const char *path)
{
size_t i;
char *database = NULL;
const char *delim = NULL;
const char *archive_path = NULL;
const char *new_path = NULL;
const char *new_path = path_basename(database_path);
if (!core_info_curr_list)
if (string_is_empty(new_path))
return false;
new_path = path_basename(database_path);
database = strdup(new_path);
if (!string_is_empty(new_path))
database = strdup(new_path);
if (string_is_empty(database))
{
if (database)
free(database);
return false;
}
path_remove_extension(database);
delim = path_get_archive_delim(path);
if (delim)
archive_path = delim - 1;
/* if the path contains a compressed file and the core supports archives,
* we don't want to look at this file */
if (archive_path)
if (core_info_curr_list)
{
size_t i;
const char *delim = path_get_archive_delim(path);
if (delim)
{
const char *archive_path = delim - 1;
/* if the path contains a compressed file and the core supports archives,
* we don't want to look at this file */
if (archive_path)
{
for (i = 0; i < core_info_curr_list->count; i++)
{
const core_info_t *info = &core_info_curr_list->list[i];
if (!string_list_find_elem(info->databases_list, database))
continue;
if ( !string_list_find_elem(info->supported_extensions_list, "zip")
&& !string_list_find_elem(info->supported_extensions_list, "7z"))
continue;
free(database);
return false;
}
}
}
for (i = 0; i < core_info_curr_list->count; i++)
{
const core_info_t *info = &core_info_curr_list->list[i];
if (!string_list_find_elem(info->supported_extensions_list,
path_get_extension(path)))
continue;
if (!string_list_find_elem(info->databases_list, database))
continue;
if ( !string_list_find_elem(info->supported_extensions_list, "zip")
&& !string_list_find_elem(info->supported_extensions_list, "7z"))
continue;
free(database);
return false;
return true;
}
}
for (i = 0; i < core_info_curr_list->count; i++)
{
const core_info_t *info = &core_info_curr_list->list[i];
if (!string_list_find_elem(info->supported_extensions_list, path_get_extension(path)))
continue;
if (!string_list_find_elem(info->databases_list, database))
continue;
free(database);
return true;
}
free(database);
return false;
}
+2 -3
View File
@@ -1,8 +1,7 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2014 - Hans-Kristian Arntzen
* Copyright (C) 2011-2016 - Daniel De Matteis
* Copyright (C) 2013-2015 - Jason Fetters
* Copyright (C) 2016 - Brad Parker
* Copyright (C) 2011-2017 - Daniel De Matteis
* Copyright (C) 2016-2017 - Brad Parker
*
* RetroArch is free software: you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Found-
+1 -1
View File
@@ -1,5 +1,5 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2011-2016 - Daniel De Matteis
* Copyright (C) 2011-2017 - Daniel De Matteis
*
* RetroArch is free software: you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Found-
+10 -10
View File
@@ -23,18 +23,22 @@
#include "internal_cores.h"
static uint16_t *frame_buf;
static uint16_t *dummy_frame_buf;
void libretro_dummy_retro_init(void)
{
frame_buf = (uint16_t*)calloc(320 * 240, sizeof(uint16_t));
unsigned i;
dummy_frame_buf = (uint16_t*)calloc(320 * 240, sizeof(uint16_t));
for (i = 0; i < 320 * 240; i++)
dummy_frame_buf[i] = 4 << 5;
}
void libretro_dummy_retro_deinit(void)
{
if (frame_buf)
free(frame_buf);
frame_buf = NULL;
if (dummy_frame_buf)
free(dummy_frame_buf);
dummy_frame_buf = NULL;
}
unsigned libretro_dummy_retro_api_version(void)
@@ -121,12 +125,8 @@ void libretro_dummy_retro_reset(void)
void libretro_dummy_retro_run(void)
{
unsigned i;
dummy_input_poll_cb();
for (i = 0; i < 320 * 240; i++)
frame_buf[i] = 4 << 5;
dummy_video_cb(frame_buf, 320, 240, 640);
dummy_video_cb(dummy_frame_buf, 320, 240, 640);
}
/* This should never be called, it's only used as a placeholder. */
+3 -3
View File
@@ -161,8 +161,7 @@ GL_SOURCE += $(LIBRETRO_COMM_DIR)/glsym/rglgen.c
ifeq ($(HAVE_GL_FFT), 1)
DEFINES += -DHAVE_GL_FFT
INCFLAGS += -I$(CORE_DIR)/fft
FFT_SOURCE += $(CORE_DIR)/fft/fft.cpp
FFT_SOURCE += $(CORE_DIR)/ffmpeg_fft.c
endif
endif
@@ -177,6 +176,7 @@ SOURCES_C := $(GL_SOURCE) \
$(LIBAVFORMAT_SOURCE) \
$(LIBSWSCALE_SOURCE) \
$(LIBAVCODEC_SOURCE) \
$(FFT_SOURCE) \
$(LIBSWRESAMPLE_SOURCE)
SOURCES_CXX := $(FFT_SOURCE)
SOURCES_CXX :=
+25 -25
View File
@@ -1,4 +1,3 @@
/* Copyright (C) 2016 - Brad Parker */
#include <stdint.h>
#include <stdlib.h>
#include <stdbool.h>
@@ -36,7 +35,7 @@ extern "C" {
#endif
#ifdef HAVE_GL_FFT
#include "fft/fft.h"
#include "ffmpeg_fft.h"
#endif
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES)
@@ -45,6 +44,7 @@ extern "C" {
#include <rthreads/rthreads.h>
#include <queues/fifo_queue.h>
#include <string/stdstring.h>
#include <libretro.h>
#ifdef RARCH_INTERNAL
@@ -115,7 +115,7 @@ static struct attachment *attachments;
static size_t attachments_size;
#ifdef HAVE_GL_FFT
static glfft_t *fft;
static fft_t *fft;
unsigned fft_width;
unsigned fft_height;
unsigned fft_multisample;
@@ -274,8 +274,8 @@ void CORE_PREFIX(retro_set_environment)(retro_environment_t cb)
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES)
{ "ffmpeg_temporal_interp", "Temporal Interpolation; enabled|disabled" },
#ifdef HAVE_GL_FFT
{ "ffmpeg_fft_resolution", "GLFFT Resolution; 1280x720|1920x1080|640x360|320x180" },
{ "ffmpeg_fft_multisample", "GLFFT Multisample; 1x|2x|4x" },
{ "ffmpeg_fft_resolution", "FFT Resolution; 1280x720|1920x1080|2560x1440|3840x2160|640x360|320x180" },
{ "ffmpeg_fft_multisample", "FFT Multisample; 1x|2x|4x" },
#endif
#endif
{ "ffmpeg_color_space", "Colorspace; auto|BT.709|BT.601|FCC|SMPTE240M" },
@@ -339,9 +339,9 @@ static void check_variables(void)
if (CORE_PREFIX(environ_cb)(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)
{
if (!strcmp(var.value, "enabled"))
if (memcmp(var.value, "enabled", 7) == 0)
temporal_interpolation = true;
else if (!strcmp(var.value, "disabled"))
else if (memcmp(var.value, "disabled", 8) == 0)
temporal_interpolation = false;
}
@@ -373,13 +373,13 @@ static void check_variables(void)
if (CORE_PREFIX(environ_cb)(RETRO_ENVIRONMENT_GET_VARIABLE, &color_var) && color_var.value)
{
slock_lock(decode_thread_lock);
if (!strcmp(color_var.value, "BT.709"))
if (string_is_equal(color_var.value, "BT.709"))
colorspace = AVCOL_SPC_BT709;
else if (!strcmp(color_var.value, "BT.601"))
else if (string_is_equal(color_var.value, "BT.601"))
colorspace = AVCOL_SPC_BT470BG;
else if (!strcmp(color_var.value, "FCC"))
else if (memcmp(color_var.value, "FCC", 3) == 0)
colorspace = AVCOL_SPC_FCC;
else if (!strcmp(color_var.value, "SMPTE240M"))
else if (string_is_equal(color_var.value, "SMPTE240M"))
colorspace = AVCOL_SPC_SMPTE240M;
else
colorspace = AVCOL_SPC_UNSPECIFIED;
@@ -462,7 +462,7 @@ void CORE_PREFIX(retro_run)(void)
}
if (fft && (old_fft_multisample != fft_multisample))
glfft_init_multisample(fft, fft_width, fft_height, fft_multisample);
fft_init_multisample(fft, fft_width, fft_height, fft_multisample);
#endif
CORE_PREFIX(input_poll_cb)();
@@ -737,11 +737,11 @@ void CORE_PREFIX(retro_run)(void)
if (to_read > (1 << 11))
to_read = 1 << 11;
glfft_step_fft(fft, buffer, to_read);
fft_step_fft(fft, buffer, to_read);
buffer += to_read * 2;
frames -= to_read;
}
glfft_render(fft, hw_render.get_current_framebuffer(), fft_width, fft_height);
fft_render(fft, hw_render.get_current_framebuffer(), fft_width, fft_height);
CORE_PREFIX(video_cb)(RETRO_HW_FRAME_BUFFER_VALID,
fft_width, fft_height, fft_width * sizeof(uint32_t));
}
@@ -1369,7 +1369,7 @@ static void context_destroy(void)
#ifdef HAVE_GL_FFT
if (fft)
{
glfft_free(fft);
fft_free(fft);
fft = NULL;
}
#endif
@@ -1400,9 +1400,9 @@ static void context_reset(void)
#ifdef HAVE_GL_FFT
if (audio_streams_num > 0 && video_stream < 0)
{
fft = glfft_new(11, hw_render.get_proc_address);
fft = fft_new(11, hw_render.get_proc_address);
if (fft)
glfft_init_multisample(fft, fft_width, fft_height, fft_multisample);
fft_init_multisample(fft, fft_width, fft_height, fft_multisample);
}
/* Already inits symbols. */
@@ -1555,7 +1555,7 @@ void CORE_PREFIX(retro_unload_game)(void)
bool CORE_PREFIX(retro_load_game)(const struct retro_game_info *info)
{
bool is_glfft = false;
bool is_fft = false;
enum retro_pixel_format fmt = RETRO_PIXEL_FORMAT_XRGB8888;
struct retro_input_descriptor desc[] = {
{ 0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_LEFT, "Seek -10 seconds" },
@@ -1606,21 +1606,21 @@ bool CORE_PREFIX(retro_load_game)(const struct retro_game_info *info)
}
#ifdef HAVE_GL_FFT
is_glfft = video_stream < 0 && audio_streams_num > 0;
is_fft = video_stream < 0 && audio_streams_num > 0;
#endif
if (video_stream >= 0 || is_glfft)
if (video_stream >= 0 || is_fft)
{
video_decode_fifo = fifo_new(media.width
* media.height * sizeof(uint32_t) * 32);
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES)
use_gl = true;
hw_render.context_reset = context_reset;
hw_render.context_destroy = context_destroy;
hw_render.bottom_left_origin = is_glfft;
hw_render.depth = is_glfft;
hw_render.stencil = is_glfft;
hw_render.context_reset = context_reset;
hw_render.context_destroy = context_destroy;
hw_render.bottom_left_origin = is_fft;
hw_render.depth = is_fft;
hw_render.stencil = is_fft;
#if defined(HAVE_OPENGLES)
hw_render.context_type = RETRO_HW_CONTEXT_OPENGLES2;
#else
File diff suppressed because it is too large. Load diff
+24
View File
@@ -0,0 +1,24 @@
#ifndef FFMPEG_FFT_H_
#define FFMPEG_FFT_H_
#include <glsym/glsym.h>
#include <retro_common_api.h>
RETRO_BEGIN_DECLS
typedef struct GLFFT fft_t;
fft_t *fft_new(unsigned fft_steps, rglgen_proc_address_t proc);
void fft_free(fft_t *fft);
void fft_init_multisample(fft_t *fft, unsigned width, unsigned height, unsigned samples);
void fft_step_fft(fft_t *fft, const GLshort *buffer, unsigned frames);
void fft_render(fft_t *fft, GLuint backbuffer, unsigned width, unsigned height);
RETRO_END_DECLS
#endif
-26
View File
@@ -1,26 +0,0 @@
#ifndef FFT_H__
#define FFT_H__
#include <glsym/glsym.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef struct glfft glfft_t;
glfft_t *glfft_new(unsigned fft_steps, rglgen_proc_address_t proc);
void glfft_free(glfft_t *fft);
void glfft_init_multisample(glfft_t *fft, unsigned width, unsigned height, unsigned samples);
void glfft_step_fft(glfft_t *fft, const GLshort *buffer, unsigned frames);
void glfft_render(glfft_t *fft, GLuint backbuffer, unsigned width, unsigned height);
#ifdef __cplusplus
}
#endif
#endif
+2 -2
View File
@@ -410,8 +410,8 @@ void IMAGE_CORE_PREFIX(retro_run)(void)
}
else if (last_image)
{
image_index = file_list->size - 1;
load_image = true;
image_index = (int)(file_list->size - 1);
load_image = true;
}
if (load_image)
@@ -22,6 +22,7 @@
#include <net/net_socket.h>
#include <retro_miscellaneous.h>
#include <retro_timers.h>
#include <libretro.h>
@@ -59,7 +59,10 @@
#include <libudev.h>
#endif
struct video_buffer {
#include <string/stdstring.h>
struct video_buffer
{
void *start;
size_t len;
};
@@ -215,7 +218,7 @@ enumerate_audio_devices(char *buf, size_t buflen)
{
name = snd_device_name_get_hint(*n, "NAME");
ioid = snd_device_name_get_hint(*n, "IOID");
if ((ioid == NULL || !strcmp(ioid, "Input")) &&
if ((ioid == NULL || string_is_equal(ioid, "Input")) &&
(!strncmp(name, "hw:", strlen("hw:")) ||
!strncmp(name, "default:", strlen("default:"))))
{
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 357 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 562 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 880 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 343 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 874 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 639 B

Loaded 100 of 1338 files, more files were not shown because too many files have changed in this diff. Show more