Compare commits

...
3515 Commits
Author SHA1 Message Date
Twinaphex 9750719074 Merge pull request #8161 from yoshisuga/ios-cleanup
iOS/tvOS cleanup
2019-02-03 21:18:57 +01:00
twinaphex a58a32411f Some more buildfixes 2019-02-03 21:18:34 +01:00
Yoshi Sugawara 04bdc634ba tvOS: use OZONE as default menu driver 2019-02-03 09:11:29 -10:00
twinaphex 6c2ac0bc29 This should be a function call 2019-02-03 20:10:28 +01:00
Yoshi Sugawara 1ca3bcf21d Merge remote-tracking branch 'upstream/master' into ios-cleanup 2019-02-03 09:00:22 -10:00
Yoshi Sugawara 11bf1e05b1 remove logging code 2019-02-03 08:59:24 -10:00
Yoshi Sugawara d18ef55aea iOS/tvOS cleanup: remove logging code, remove compiled core from repo (added by mistake) 2019-02-03 08:57:12 -10:00
twinaphex 9c0ccccc1c Relative header include fix 2019-02-03 19:44:17 +01:00
twinaphex 4cbbd3470b Revert "Simplify video_driver_set_mvp"
This reverts commit 1dd89e1bce.
2019-02-03 19:40:48 +01:00
twinaphex 4aadd53d80 Revert "Get rid of video_shader_driver_scale"
This reverts commit 256b28fa2a.
2019-02-03 19:40:36 +01:00
twinaphex 1eeb58c5dd Revert "Cleanups"
This reverts commit 4554669750.
2019-02-03 19:40:27 +01:00
twinaphex 5a45464bb3 Revert "Reimplement video_driver_set_coords"
This reverts commit 93ded925d3.
2019-02-03 19:40:21 +01:00
twinaphex 43884758c5 Revert "(GL) Cleanups"
This reverts commit 5bab7e4460.
2019-02-03 19:40:15 +01:00
twinaphex 5bab7e4460 (GL) Cleanups 2019-02-03 18:38:18 +01:00
twinaphex 93ded925d3 Reimplement video_driver_set_coords 2019-02-03 18:29:00 +01:00
twinaphex dd366cd5c5 Revert "Simplify set_coords"
This reverts commit e10eb51f71.
2019-02-03 18:05:14 +01:00
twinaphex e10eb51f71 Simplify set_coords 2019-02-03 18:03:07 +01:00
twinaphex 4554669750 Cleanups 2019-02-03 17:49:31 +01:00
twinaphex 256b28fa2a Get rid of video_shader_driver_scale 2019-02-03 17:39:25 +01:00
twinaphex 85708b7ef8 (Emscripten) Buildfixes 2019-02-03 17:15:18 +01:00
Twinaphex 55200644ca Merge pull request #8155 from orbea/zarch
Remove the zarch menu driver.
2019-02-03 15:25:33 +01:00
Twinaphex 7fcb2e58a6 Merge pull request #8157 from fjtrujy/feature/PSPOpenMenu
[PSP] open Retroarch menu
2019-02-03 15:25:00 +01:00
Francisco Javier Trujillo Mata a9946b7634 Open RetroArchMenu with long press start in PSP 2019-02-03 12:21:36 +01:00
orbea 98f6aecec2 Remove the zarch menu driver. 2019-02-02 22:15:10 -08:00
twinaphex 67e777767c Revert "Remove video_shader_driver_get_ident"
This reverts commit 0814cc34ee.
2019-02-03 07:07:50 +01:00
twinaphex 0814cc34ee Remove video_shader_driver_get_ident 2019-02-03 07:06:57 +01:00
twinaphex 1dd89e1bce Simplify video_driver_set_mvp 2019-02-03 06:53:02 +01:00
Twinaphex b7cee0a633 Merge pull request #8154 from orbea/nuklear
Further remove nuklear.
2019-02-03 06:42:05 +01:00
twinaphex add4ac00eb Cleanups 2019-02-03 06:28:27 +01:00
orbea af813d9c46 Further remove nuklear. 2019-02-02 20:58:47 -08:00
twinaphex 0db583c245 Get rid of video_shader_driver_compile_program 2019-02-03 05:52:41 +01:00
twinaphex 9a04c4c67b Get rid of video_shader_driver_get_prev_textures 2019-02-03 05:49:18 +01:00
twinaphex 000787837e Cleanups 2019-02-03 05:41:43 +01:00
twinaphex 9b233f71ac Buildfixes 2019-02-03 05:32:03 +01:00
twinaphex 7e92468508 Get rid of video_shader_driver_filter_type 2019-02-03 05:28:00 +01:00
twinaphex 6f7d67aa77 (GL/video driver) More cleanups 2019-02-03 05:07:29 +01:00
twinaphex 845c8d1757 Get rid of more video_shader_driver functions 2019-02-03 05:05:23 +01:00
twinaphex 7e81ac4218 Get rid of video_shader_driver_mipmap_input 2019-02-03 04:47:52 +01:00
twinaphex 9aa542b1ae * Get rid of video_shader_driver_use
* Get rid of Nuklear - ozone/menu widgets is probably the replacement
for it - Zarch will go next
2019-02-03 04:37:54 +01:00
twinaphex 92d0b4a237 Fix griffin.c 2019-02-03 00:27:34 +01:00
twinaphex 633ad1788d Turn this into static function 2019-02-03 00:13:41 +01:00
twinaphex 91f8e8465a (GL) Cleanups 2019-02-03 00:11:41 +01:00
twinaphex 97dc77b940 (GL) renderchain interface is gone now 2019-02-03 00:07:53 +01:00
twinaphex d7410b6689 (GL2) Cleanups 2019-02-02 23:16:36 +01:00
twinaphex af65e36eea Cleanup renderchain functions 2019-02-02 22:35:10 +01:00
twinaphex 62bea6ad11 SOme header cleanups 2019-02-02 22:02:24 +01:00
twinaphex 1a6d0b2ce4 Update 2019-02-02 21:52:33 +01:00
twinaphex 0c0ab19b11 (GL) We don't need gl_common.c anymore 2019-02-02 21:47:31 +01:00
twinaphex 350b0dd1a2 gl_add_lut can now become a static function inside gl.c 2019-02-02 21:34:02 +01:00
twinaphex 90f1317498 Cut down on code duplication - create gl_load_luts 2019-02-02 21:32:37 +01:00
twinaphex 9262effbf9 We need zlib for chd 2019-02-02 21:21:58 +01:00
twinaphex 6fe5a134db HAVE_CHD requires HAVE_ZLIB too 2019-02-02 21:18:44 +01:00
twinaphex 0009c059ac Put this under HAVE_ZLIB too 2019-02-02 21:15:44 +01:00
twinaphex 9fcf21e3ed Don't build libchdr_flac unless zlib is defined too 2019-02-02 21:13:19 +01:00
twinaphex adc6d21601 Add PS3 ifdef 2019-02-02 21:03:23 +01:00
Twinaphex f76547a96f Merge pull request #8151 from fr500/master
[discord] use discord username if available
2019-02-02 20:33:51 +01:00
Twinaphex 9e74108939 Merge pull request #7463 from alfrix/Renames
Rename settings to avoid redundancy
2019-02-02 20:26:22 +01:00
radius 79d280e9c3 [discord] use discord username if available 2019-02-02 14:26:14 -05:00
Twinaphex b4bf7c168d Merge pull request #8097 from alfrix/master
Recolor monochrome to create monochrome inverted and add Automatic inverted
2019-02-02 18:40:22 +01:00
Alfredo Monclus 7b33ba55ca Merge branch 'master' into Renames 2019-02-02 14:16:49 -03:00
twinaphex 31a5f72acf Add 10.7 ifdef 2019-02-02 18:04:41 +01:00
twinaphex 2560d1c105 Move gl_load_texture_data to gl_common.c 2019-02-02 17:33:58 +01:00
twinaphex 6b3fad0f53 This can be removed now 2019-02-02 17:26:12 +01:00
twinaphex 7c74f0abe8 Create gl_add_lut 2019-02-02 17:25:27 +01:00
twinaphex 1796d359c5 Don't use setvbuf for PSP too 2019-02-02 16:43:17 +01:00
Twinaphex 027745d113 Merge pull request #8150 from theheroGAC/patch-42
Update msg_hash_it.h
2019-02-02 14:26:52 +01:00
theheroGAC d54ca53653 Update msg_hash_it.h 2019-02-02 11:52:51 +01:00
twinaphex 6879ba3ef8 Cleanup header 2019-02-02 05:09:29 +01:00
Twinaphex eda11bb99e Merge pull request #8148 from alphanu1/master
Fixes compile warnings and resolution restore
2019-02-01 23:20:01 +01:00
alphanu1 8f449003ec Merge pull request #102 from alphanu1/alphanu1-patch-91
compile warning fix
2019-02-01 20:41:15 +00:00
alphanu1 f9bb1417b1 compile warning fix 2019-02-01 20:41:01 +00:00
alphanu1 36fd99910a Update dispserv_x11.c 2019-02-01 20:38:50 +00:00
alphanu1 8ff70ecbbb Update dispserv_x11.c 2019-02-01 20:34:48 +00:00
alphanu1 a719a096f9 Merge pull request #101 from alphanu1/alphanu1-patch-90
Fix restore resolution for auto detect with single output
2019-02-01 20:30:58 +00:00
alphanu1 5f7de58080 Fix restore resolution for auto detect with single output 2019-02-01 20:30:44 +00:00
alphanu1 b1a20b6ea7 Merge pull request #100 from libretro/master
Update
2019-02-01 20:27:40 +00:00
alphanu1 23800382bf Update dispserv_x11.c 2019-02-01 20:21:53 +00:00
alphanu1 0cad96cf64 Merge pull request #99 from alphanu1/alphanu1-patch-89
Fix restore resolution for single output autodetect
2019-02-01 20:20:51 +00:00
alphanu1 1d8dd9bb9e Fix restore resolution for single output autodetect 2019-02-01 20:20:25 +00:00
twinaphex 0413ba7215 Buildfix for GL3 OSX 2019-02-01 19:56:12 +01:00
Twinaphex a9b576979a Merge pull request #8145 from orbea/warning
Fix -Wformat-truncation warning.
2019-02-01 19:14:02 +01:00
Twinaphex b321753944 Merge pull request #8144 from orbea/coreaudio
Fix warnings.
2019-02-01 19:13:49 +01:00
Twinaphex dd23adb367 Merge pull request #8146 from orbea/poll.h
Use the posix poll.h instead of sys/poll.h.
2019-02-01 19:13:29 +01:00
alfrix 9d52729e70 Color back monochrome and automatic to the original color f2f2f2 2019-02-01 15:06:33 -03:00
alfrix 69e7a2dff2 Invert colors in the driver and add automatic-inverted theme 2019-02-01 15:06:33 -03:00
orbea 5d56080312 Use the posix poll.h instead of sys/poll.h. 2019-02-01 09:58:04 -08:00
orbea ad217bc80c Fix -Wformat-truncation warning. 2019-02-01 09:21:07 -08:00
orbea 5150d96074 Fix warnings. 2019-02-01 08:40:43 -08:00
Twinaphex ba3c7c3fd5 Merge pull request #8142 from natinusala/master
ozone: set default theme to dark
2019-02-01 16:52:04 +01:00
Twinaphex 2e76e8951e Merge pull request #8143 from yoshisuga/tvos_modules_fix
tvOS/iOS: Fixes to controller handling and cores directory
2019-02-01 16:51:56 +01:00
natinusala cff7aa5785 ozone: set default theme to dark 2019-02-01 16:49:12 +01:00
Yoshi Sugawara 45185d6827 tvOS: remove the tvOS modules directory and use the iOS modules one since cores built using the iOS SDK work on tvOS
iOS: change default joypad driver to be mfi
iOS: move autodetect of mfi controller to mfi_joypad driver and set the default mapping for both iOS and tvOS
iOS: support unsupported buttons on mfi controller (select,L3,R3) by using hotkey combinations using the MENU button
tvos: use INPUT_TOGGLE_DOWN_Y_L_R as default for menu toggle gamepad combo
2019-02-01 05:33:29 -10:00
Twinaphex 0d3dc3fc83 Merge pull request #8141 from alphanu1/master
Fix pre-installed resolution bug
2019-02-01 01:25:41 +01:00
alphanu1 b69938078d Fix pre-installed Resolution bug 2019-02-01 00:22:00 +00:00
Twinaphex d17b1439e2 Merge pull request #8140 from CozmoP/thumbnail
Qt: hide unused options
2019-02-01 00:36:50 +01:00
twinaphex 374b724118 Update CHANGES.md 2019-01-31 23:58:15 +01:00
CozmoP 7ca7a5e0fc Qt: hide unused options 2019-01-31 23:54:25 +01:00
twinaphex db04ac0b2a Bump to version 1.7.6 2019-01-31 23:38:10 +01:00
Twinaphex 6ff785be59 Merge pull request #8138 from orbea/qb
Makefile.common: Small clean up.
2019-01-31 23:15:54 +01:00
Twinaphex 8a3b80a9e5 Merge pull request #8139 from CozmoP/thumbnail
Qt: make image drop indicator translatable
2019-01-31 23:15:43 +01:00
twinaphex 6aca340927 (OSX) Add CoreAudio V3 driver from stuartcarnie 2019-01-31 23:14:56 +01:00
CozmoP 9eaa703d4f Qt: make image drop indicator translatable 2019-01-31 23:01:39 +01:00
orbea e0091a1f8c Makefile.common: Small clean up. 2019-01-31 13:26:05 -08:00
Twinaphex c62a7e4b5e Merge pull request #8137 from orbea/qb
qb: Fix configure arguments.
2019-01-31 22:21:52 +01:00
Twinaphex ee36fd54c3 Cleanups 2019-01-31 22:18:15 +01:00
orbea f9ee57c40d qb: Fix configure arguments. 2019-01-31 13:06:12 -08:00
twinaphex 6e1658bb30 Add CoreAudio system information string 2019-01-31 21:43:31 +01:00
twinaphex 5d77244334 (OSX) Implement flyinghead's GL3 support 2019-01-31 21:30:49 +01:00
twinaphex 987a91a1ae Silence some warnings 2019-01-31 21:24:13 +01:00
twinaphex 9e6cd04df4 Header include cleanups 2019-01-31 20:43:07 +01:00
twinaphex fe02db911d Header include cleanups 2019-01-31 20:36:39 +01:00
twinaphex 64460824aa Fix another CXX_BUILD warning 2019-01-31 20:21:04 +01:00
twinaphex 37102a8e16 * Header include optimization
* Silence warning with CXX_BUILD (retroarch.c)
2019-01-31 20:12:41 +01:00
twinaphex 9421584772 Header include updates 2019-01-31 19:41:51 +01:00
twinaphex 000646e51e Update header includes 2019-01-31 19:06:27 +01:00
Twinaphex 44a4689847 Merge pull request #8136 from orbea/dispmanx
qb: Remove dead DISPMANX code.
2019-01-31 18:02:03 +01:00
orbea 5011360a93 qb: Remove dead DISPMANX code. 2019-01-31 08:36:18 -08:00
bparker06 88d741a4a2 Update CHANGES.md 2019-01-31 10:57:57 -05:00
Twinaphex 0a068ef871 Merge pull request #8134 from bparker06/gdi_fallback
win32: force video driver to gdi if no accelerated graphics driver is found
2019-01-31 16:54:24 +01:00
twinaphex 65f8fc7a21 Fix relative path include 2019-01-31 15:56:17 +01:00
twinaphex 9d6b40fff2 Turn CRT SwitchRes ifdefs into HAVE_VIDEOCORE - ARM ifdefs would break
3DS/Vita builds
2019-01-31 15:55:21 +01:00
Brad Parker 5ea97cccb9 win32: force video driver to gdi if no accelerated graphics driver is found 2019-01-31 09:48:10 -05:00
twinaphex 4b0b4e727b Cleanups 2019-01-31 15:24:21 +01:00
Twinaphex 422e421900 Merge pull request #8122 from yoshisuga/tvos2
Support for AppleTV (tvOS)
2019-01-31 15:19:10 +01:00
twinaphex ca757d6214 Warning fix 2019-01-31 15:17:58 +01:00
twinaphex d24408730b Cleanups 2019-01-31 15:13:36 +01:00
Twinaphex 3d092c8394 Merge pull request #8132 from alphanu1/master
CRTSwitchRes Updates: Including Raspberry PI
2019-01-31 15:04:16 +01:00
Twinaphex 45af07e322 Merge pull request #8133 from DSkywalk/master
X11 keyboard driver international fixes
2019-01-31 15:02:20 +01:00
alphanu1 ccd234465e fixed restore res bug 2019-01-31 11:56:59 +00:00
alphanu1 9176fc30ee Fix restore res bug 2019-01-31 11:53:16 +00:00
David Skywalker 347519a4d8 now X11 driver using keycodes instead keysyms, fixes international layouts problems. 2019-01-31 12:50:58 +01:00
alphanu1 f23468b8a6 Merge branch 'master' of https://github.com/alphanu1/MME4CRT 2019-01-31 11:18:08 +00:00
alphanu1 0f400b433b Update dispserv_x11.c 2019-01-31 11:17:56 +00:00
Twinaphex 1b439b7d09 Merge pull request #8131 from orbea/qb
qb: Combine HAVE_VIDEO_PROCESSOR with HAVE_VIDEOPROCCESOR.
2019-01-31 03:32:06 +01:00
Twinaphex 6c42d87303 Merge pull request #8130 from CozmoP/thumbnail
Qt: thumbnails drop indicator
2019-01-31 03:29:36 +01:00
alphanu1 86696d3bf3 Update dispserv_x11.c 2019-01-30 23:15:13 +00:00
alphanu1 8344b0d049 Update dispserv_x11.c 2019-01-30 22:48:04 +00:00
alphanu1 ce6a6c0e21 Update dispserv_x11.c 2019-01-30 22:46:29 +00:00
alphanu1 a7814a7601 Update dispserv_x11.c 2019-01-30 22:41:13 +00:00
alphanu1 f510efd64e Update dispserv_x11.c 2019-01-30 22:34:18 +00:00
alphanu1 257dbd825a Update dispserv_x11.c 2019-01-30 22:28:46 +00:00
alphanu1 5afcd020bd update 2019-01-30 22:17:36 +00:00
alphanu1 fac95efaba Update dispserv_x11.c 2019-01-30 22:08:04 +00:00
alphanu1 fa8c9d7049 new method 2019-01-30 21:55:33 +00:00
alphanu1 22e0560395 Update menu_cbs_ok.c 2019-01-30 21:06:03 +00:00
alphanu1 a4b391d796 Update video_crt_switch.c 2019-01-30 20:58:30 +00:00
alphanu1 8fdbdf8b8b Update video_crt_switch.c 2019-01-30 20:57:52 +00:00
alphanu1 0726cc425c Update video_crt_switch.c 2019-01-30 20:51:05 +00:00
alphanu1 c43a93e544 Adding userland for RPi 2019-01-30 20:47:36 +00:00
alphanu1 42c25952d4 Merge pull request #97 from alphanu1/alphanu1-patch-87
RPi Additions new switching method
2019-01-30 20:31:57 +00:00
orbea c88456a455 qb: Combine HAVE_VIDEO_PROCESSOR with HAVE_VIDEOPROCCESOR. 2019-01-30 12:28:58 -08:00
CozmoP cc18bd6023 Qt: thumbnails drop indicator 2019-01-30 21:26:33 +01:00
alphanu1 76bf63f905 RPi Additions new switching method
Partil new switching method
2019-01-30 20:17:32 +00:00
Twinaphex 81bca39b53 Merge pull request #8129 from natinusala/master
libnx: remove HAVE_CHD + add assets to the gitignore
2019-01-30 20:51:51 +01:00
alphanu1 e533dda94a Merge pull request #96 from libretro/master
update
2019-01-30 19:23:12 +00:00
Twinaphex ae9acec62d Merge pull request #8127 from orbea/qb
qb: Clean up.
2019-01-30 19:27:13 +01:00
Twinaphex e4d8b8445e Merge pull request #8128 from hizzlekizzle/master
update slang blacklist for wiiu
2019-01-30 19:27:04 +01:00
natinusala c0dde586a0 libnx: Remove HAVE_CHD due to static conflicts between different cores 2019-01-30 19:11:11 +01:00
natinusala 10cd3b0d2c Add assets to the gitignore 2019-01-30 19:10:44 +01:00
hizzlekizzle 74526ca140 update slang blacklist for wiiu 2019-01-30 12:00:28 -06:00
Yoshi Sugawara e039472300 Merge remote-tracking branch 'upstream/master' into tvos2 2019-01-30 07:50:26 -10:00
Yoshi Sugawara 3aeedeb0a3 added release scheme for tvOS, made modules directory an empty directory that would be part of the checkout 2019-01-30 07:49:55 -10:00
orbea 7d106545eb qb: Clean up. 2019-01-30 08:34:06 -08:00
Twinaphex 9091a53497 Merge pull request #8126 from orbea/win32
qb: Don't force threads for win32.
2019-01-30 16:47:59 +01:00
orbea 921104a4fb qb: Don't force threads for win32. 2019-01-30 07:22:32 -08:00
Twinaphex 51cfc84b88 Merge pull request #8063 from Tony556/master
(Menu) Added toggle menu option for "Down+Select"
2019-01-30 16:20:24 +01:00
Twinaphex 6dabd46220 Merge pull request #8123 from orbea/qb
qb: Extend check_enabled.
2019-01-30 15:54:32 +01:00
Yoshi Sugawara 57c6686a19 fixed setting CFDocumentDirectory to not be iOS specific and respect other apple environments 2019-01-30 00:35:51 -10:00
Yoshi Sugawara ef0cfb2504 Merge remote-tracking branch 'upstream/master' into tvos2 2019-01-30 00:34:05 -10:00
Brad Parker f8ba41d76e C89 buildfix 2019-01-29 21:24:22 -05:00
Twinaphex 21f043201d Merge pull request #8119 from jdgleaver/rgui-wallpaper
(RGUI) Overhaul custom theme interface + add wallpaper support
2019-01-30 02:48:06 +01:00
orbea 8e798405ad qb: Extend check_enabled.
This also disables vulkan support when threads are also disabled.

Fixes https://github.com/libretro/RetroArch/issues/8091
2019-01-29 17:06:49 -08:00
Twinaphex 5302a1e61c Merge pull request #8120 from orbea/qb
qb: Workaround mali bug.
2019-01-29 21:37:21 +01:00
Yoshi Sugawara b3703a1f2e iOS: fixed target membership of assets, added debug and release schemes for iOS 2019-01-29 10:31:04 -10:00
Yoshi Sugawara a18512375b Support for tvOS
- add tvOS target
    - support code signing tvOS cores by adding an argument to the code signing cores script
    - use NSCachesDirectory for the documents directory
    - add some mfi controller handling logic to set non-game controllers to the last index to avoid interfering with operation
    - autodetect mfi controller for apple tv on startup - added autodetect to hid joypad
    - added a webserver to transfer files for tvOS
    - xcode: clean up project, remove unused folders
    - remove HAVE_MATERIALUI setting for tvos build, make it use XMB as default
    - added retroarch app icon courtesy of @MrJs
    - added auto-detect of mfi controller for apple tv
2019-01-29 10:13:46 -10:00
orbea 1a28b06935 qb: Workaround mali bug.
Some systems have egl libarries, but no pkgconfig file to find them.

Fixes https://github.com/libretro/RetroArch/issues/8114
2019-01-29 10:16:06 -08:00
jdgleaver 99fa2b54eb (RGUI) Overhaul custom theme interface + add wallpaper support 2019-01-29 17:20:46 +00:00
Twinaphex d357cf9986 Merge pull request #8118 from natinusala/master
menu_entry: hide password values
2019-01-29 11:20:42 +01:00
natinusala bf98664b15 menu_entry: hide password values 2019-01-29 10:34:58 +01:00
twinaphex 406d927f6b (D3D11) Comment out performance counter 2019-01-29 08:57:06 +01:00
Twinaphex 753552bd40 Merge pull request #8115 from orbea/qb2
makefile.common: Clean up SDL conditionals.
2019-01-29 05:50:27 +01:00
Twinaphex bb134d2f66 Merge pull request #8117 from hizzlekizzle/master
remove conditional hiding CRT SwitchRes options
2019-01-29 05:50:12 +01:00
hizzlekizzle 7ac95f724a add more dependencies to debian build 2019-01-28 21:25:34 -06:00
Brad Parker deb35e01a8 fix double-free in cheat manager 2019-01-28 21:49:06 -05:00
hizzlekizzle a80e15f135 remove conditional hiding CRT SwitchRes options
Since RPi will support switching without X, these options need to be visible even when there's no display server
2019-01-28 18:42:23 -06:00
Brad Parker c455a86545 wiiu: fix include path to peglib for slang-parse 2019-01-28 14:43:42 -05:00
Twinaphex edce9c02d1 Merge pull request #8116 from natinusala/d3d10-d3d11-scissor-fix
d3d10 and d3d11 scissor fix + d3d12 scissoring implementation
2019-01-28 19:56:36 +01:00
natinusala 0f3fcdd311 Implement scissoring for d2d12 2019-01-28 19:31:27 +01:00
natinusala 04b2ffcb9e Fix scissoring for d3d10 and d3d11 2019-01-28 19:23:46 +01:00
Rob Loach fa875692c3 Added menu toggle for 'Down+Select' 2019-01-28 11:43:57 -05:00
orbea 0f8de9b3b3 makefile.common: Clean up SDL conditionals. 2019-01-28 07:30:35 -08:00
Twinaphex e8e384aa4f Merge pull request #8076 from jdgleaver/rgui-vulkan-linear
(Vulkan) Enable RGUI 'Menu Linear Filter' option (please review)
2019-01-28 16:00:18 +01:00
twinaphex c281435867 Add HAVE_THREADS ifdefs 2019-01-28 15:47:18 +01:00
Twinaphex 158cec17fd Merge pull request #8107 from benutzer193/master
Fix #8081 [Wayland+Vulkan] Core Dump in wl_egl_window_resize
2019-01-28 13:09:09 +01:00
twinaphex 618286d6ef Fix path include 2019-01-28 13:06:41 +01:00
twinaphex 1c9cabf249 Add HAVE_THREADS ifdefs 2019-01-28 13:04:20 +01:00
Twinaphex 97b8dff0ab Merge pull request #8113 from krzys-h/fix-d3d12
Fix d3d12 swap chain creation
2019-01-28 12:32:22 +01:00
krzys-h 3c18232448 Fix d3d12 swap chain creation
Apparently, HAVE_WINDOW was not defined in this file (and this obviously
doesn't appear on MSVC because of how griffin.c works...)
2019-01-28 10:44:47 +01:00
twinaphex 23463408d5 Use some macros here to avoid function call overhead 2019-01-28 08:23:20 +01:00
Twinaphex d2edf39f11 Merge pull request #8106 from bparker06/menusounds
Implement in-menu sound effects
2019-01-28 01:23:25 +01:00
Twinaphex 8b958b91f9 Merge pull request #8105 from orbea/qb
Update generate_wayland_protos.sh.
2019-01-28 00:31:57 +01:00
Twinaphex 5330994297 Merge pull request #8108 from orbea/egl
qb: Test a real version of wayland-egl.
2019-01-28 00:07:48 +01:00
orbea 67d5bcbb5c qb: Test a real version of wayland-egl.
This matches the default mesa version in Ubuntu 14.04.
2019-01-27 12:18:31 -08:00
Brad Parker 90db5e7e27 Implement in-menu sound effects 2019-01-27 11:22:16 -05:00
Twinaphex 556b7b19de Merge pull request #8025 from krzys-h/uwp-storagefile
(UWP) StorageFile implementation
2019-01-27 08:33:17 +01:00
Brad Parker 8b6676e17f d3d9: implement scissor test 2019-01-26 20:13:39 -05:00
Twinaphex 1546ba05d4 Merge pull request #8104 from bparker06/d3d_scissor
implement scissor test for D3D10/11
2019-01-27 01:31:11 +01:00
orbea ae7b09afae gfx: Update generate_wayland_protos.sh. 2019-01-26 16:08:18 -08:00
Brad Parker 29a07895b9 implement scissor test for D3D10/11, fixes #7897 2019-01-26 18:52:49 -05:00
orbea d7d5bc58b2 qb: Create qb.init.sh. 2019-01-26 14:41:37 -08:00
Twinaphex b512c0aeb9 Merge pull request #8095 from Sunderland93/wayland-version
[Wayland] Set minimum wayland version to 1.12
2019-01-26 22:49:34 +01:00
Twinaphex 2bd70abfcd Merge pull request #8096 from orbea/qb2
qb: Allow testing more than one version in check_pkgconf.
2019-01-26 22:49:20 +01:00
Twinaphex b2e8a7add2 Merge pull request #8098 from Zlika/master
Add missing files in libretro-db Makefile
2019-01-26 22:48:38 +01:00
Twinaphex e5dd7ce738 Merge pull request #8099 from fjtrujy/feature/cdfsSupport
[PS2] Add CDFS support
2019-01-26 22:48:28 +01:00
benutzer193 8e26b13578 If window is not present, create window 2019-01-26 17:49:20 +01:00
Zlika 4dbd15381a Add missing files in libretro-db Makefile 2019-01-26 15:05:50 +01:00
Francisco Javier Trujillo Mata 5ee7921b65 Add CDFS support 2019-01-26 14:21:51 +01:00
Sunderland93 10d2d13004 Fix version's comparison 2019-01-26 13:41:03 +04:00
Brad Parker 1ee66d5204 d3d: fix cross-compilation on Linux 2019-01-25 23:28:07 -05:00
orbea 63c7abef06 qb: Allow testing more than one version in check_pkgconf. 2019-01-25 15:04:29 -08:00
Sunderland93 677395f05e [Wayland] Set minimum wayland version to 1.12 2019-01-25 21:41:13 +04:00
Twinaphex d99f32a5ad Merge pull request #8094 from orbea/qb
qb: Cleanup config.libs.sh.
2019-01-25 11:03:36 +01:00
orbea 2cc6505997 qb: Fix HAVE_RETRO check. 2019-01-24 23:08:35 -08:00
orbea 352fbc7cc7 qb: Remove duplicate code in config.libs.sh. 2019-01-24 22:29:10 -08:00
orbea 0dc40a2d66 qb: Cleanup config.libs.sh. 2019-01-24 17:17:19 -08:00
Twinaphex c8c23ffcfc Merge pull request #8092 from orbea/thread
Makefile.common: Fix building discord-rpc with --disable-threads.
2019-01-25 00:26:32 +01:00
Twinaphex c99c16363c Merge pull request #8093 from orbea/glsl
Makefile.common: Remove duplicate -DHAVE_GLSL.
2019-01-25 00:26:18 +01:00
orbea fc6b7d5ddb Makefile.common: Remove duplicate -DHAVE_GLSL. 2019-01-24 14:29:21 -08:00
orbea aa2fd6cfed Makefile.common: Fix building discord-rpc with --disable-threads. 2019-01-24 14:07:17 -08:00
Twinaphex ffe65cdad8 Merge pull request #8089 from orbea/format
Silence -Wformat-truncation warnings with DEBUG=1.
2019-01-24 21:28:37 +01:00
orbea 088860e499 Silence -Wformat-truncation warnings with DEBUG=1. 2019-01-24 10:59:53 -08:00
Twinaphex 997cd88c95 Merge pull request #8080 from CozmoP/thumbnail
Qt: Allow changing thumbnails by drag and drop.
2019-01-24 19:55:47 +01:00
Twinaphex 15a3df7662 Merge pull request #8087 from orbea/xmb
xmb: Fix segfault when appending disk images.
2019-01-24 19:55:32 +01:00
orbea 4722d41b0b xmb: Fix segfault when appending disk images. 2019-01-24 08:10:24 -08:00
Twinaphex 9df5a75045 Merge pull request #8084 from orbea/root_dir
Fix disk control and subsystems when navigating to the root directory.
2019-01-24 07:56:39 +01:00
Twinaphex f705f0596e Merge pull request #8083 from DEX357/patch-27
Update msg_hash_pl.h
2019-01-24 07:56:18 +01:00
orbea 5fcedc8619 Fix disk control and subsystems when navigating to the root directory.
Fixes https://github.com/libretro/RetroArch/issues/5642
Fixes https://github.com/libretro/RetroArch/issues/8071
2019-01-23 19:14:07 -08:00
DEX357 6b328ec903 Update msg_hash_pl.h 2019-01-24 01:49:31 +01:00
CozmoP 4d927528df Qt: refactor thumbnail path creation. 2019-01-23 21:21:30 +01:00
CozmoP d34e10985e Qt: allow changing thumbnails by drag and drop. 2019-01-23 19:28:59 +01:00
Twinaphex 4e6659b063 Merge pull request #8079 from CozmoP/dragndrop
Qt: add comment for QTBUG-72844 workaround
2019-01-23 19:08:36 +01:00
Twinaphex a61d295b6f Merge pull request #8078 from jdgleaver/rgui-hq-downscale
(RGUI) Allow selection of thumbnail downscaling method
2019-01-23 19:07:36 +01:00
Twinaphex f92070e829 Merge pull request #8075 from dnjstlr555/patch-1
korean translation changes
2019-01-23 19:06:38 +01:00
CozmoP 0d84e0a949 Qt: add comment for QTBUG-72844 workaround 2019-01-23 19:06:37 +01:00
Twinaphex 39d50591af Merge pull request #8074 from natinusala/master
menu_animation: add delayed animations
2019-01-23 19:06:19 +01:00
jdgleaver bd56e1e29c (RGUI) Allow selection of thumbnail downscaling method 2019-01-23 16:47:15 +00:00
natinusala 5102361e2c menu_animation: add delayed animations 2019-01-23 15:30:18 +01:00
bparker06 7ba6ffdfbe Update CHANGES.md 2019-01-23 08:40:00 -05:00
jdgleaver 11af72286b (Vulkan) Enable RGUI 'Menu Linear Filter' option 2019-01-23 11:55:17 +00:00
Hisman Yosika b216c9f7d6 Merge pull request #1 from dnjstlr555/patch-2
Minor translation errors in korean
2019-01-23 20:35:20 +09:00
Hisman Yosika 3b24d34545 Minor translation errors in korean 2019-01-23 20:34:15 +09:00
Hisman Yosika f6481d7f5e Update msg_hash_ko.h
Korean translation
2019-01-23 20:13:17 +09:00
bparker06 bd84bb1c8e Update CHANGES.md 2019-01-22 23:14:11 -05:00
Twinaphex 49fa097903 Merge pull request #8065 from jdgleaver/rgui-thumb-downscale
(RGUI) Add automatic downscaling of large thumbnails
2019-01-22 20:14:49 +01:00
Twinaphex 58f0bdeaed Merge pull request #8066 from orbea/debug
qb: Add --enable-debug.
2019-01-22 20:13:09 +01:00
Twinaphex 070a447fa8 Merge pull request #8069 from CozmoP/dragndrop
Qt: workaround for 5.12.0 drag n drop regression
2019-01-22 20:13:03 +01:00
CozmoP 4bf4d28111 Qt: workaround for 5.12.0 drag n drop regression 2019-01-22 19:50:19 +01:00
orbea db46d43224 qb: Add --enable-debug. 2019-01-22 10:08:39 -08:00
jdgleaver 9d0e9632c1 (RGUI) Add automatic downscaling of large thumbnails 2019-01-22 15:00:45 +00:00
Twinaphex 10e50bb806 Merge pull request #8061 from orbea/osx
travis: Update to xcode10.1.
2019-01-22 10:19:51 +01:00
orbea 32fa63a593 travis: Update to xcode10.1.
This should save a few minutes during the build.
2019-01-21 23:39:05 -08:00
Twinaphex 26ea9d9f0c Merge pull request #8060 from meleu/patch-2
CHANGES.md: Update NES/SNES/Lynx hashing methods
2019-01-22 08:05:03 +01:00
Twinaphex f5386397bb Merge pull request #8057 from jdgleaver/rgui-image-task
(RGUI) Replace RPNG + direct file access with task_push_image_load()
2019-01-22 08:04:43 +01:00
Twinaphex 2f0e3680cb Merge pull request #8059 from orbea/osx
Fix the osx metal travis build.
2019-01-22 08:04:04 +01:00
meleu 838ac65184 CHANGES.md: Update NES/SNES/Lynx hashing methods
- CHEEVOS: Update the hashing methods to identify NES, SNES and Lynx games (more accurate and accepting headerless ROMs).
2019-01-22 04:05:58 -02:00
orbea d3f81e8db8 Fix the osx metal travis build. 2019-01-21 13:03:51 -08:00
jdgleaver 56ddc76ebb (RGUI) Replace RPNG + direct file access with task_push_image_load() 2019-01-21 17:32:48 +00:00
Twinaphex 0ac2dc567e Merge pull request #8056 from jdgleaver/rgui-info-fix
(RGUI) Fix information display bug
2019-01-21 17:52:44 +01:00
jdgleaver 40e9fe5cf1 (RGUI) Fix information display bug 2019-01-21 11:07:32 +00:00
Twinaphex d2863e2ce6 Merge pull request #8055 from fr500/master
this should fix errors with --disable-menu
2019-01-21 00:40:17 +01:00
Twinaphex a3928cc8ca Merge pull request #8054 from orbea/c89
Some C89_BUILD fixes.
2019-01-21 00:40:02 +01:00
radius b0b39a1610 this should fix errors with --disable-menu 2019-01-20 17:20:17 -05:00
orbea cb602c190d Some C89_BUILD fixes. 2019-01-20 14:03:42 -08:00
Twinaphex c538d78626 Merge pull request #8045 from meleu/new_cheevos
better handling HAVE_NEW_CHEEVOS compilation
2019-01-20 20:38:29 +01:00
twinaphex b6e9dbd92c (Android) Buildfix 2019-01-20 20:35:25 +01:00
Twinaphex c94806ea11 Merge pull request #8050 from orbea/printf
qb: Replace remaining uses of echo with printf.
2019-01-20 20:32:04 +01:00
Twinaphex 2ba90e218f Merge pull request #8051 from Sunderland93/master
[Wayland] Change prev_width and prev_height to unsigned int
2019-01-20 20:31:43 +01:00
Twinaphex b91938ba39 Merge pull request #8052 from m4xw/revert
Revert PR #8043
2019-01-20 20:10:42 +01:00
M4xw 7d186f7d2c Revert PR #8043 2019-01-20 20:06:57 +01:00
Sunderland93 cd35fb9440 Change prev_width and prev_height to unsigned int 2019-01-20 22:12:05 +04:00
meleu 04ec598b97 add './configure --enable-new_cheevos' option 2019-01-20 16:08:31 -02:00
Aleksey Samoilov 07ca62915a Merge pull request #1 from libretro/master
Merge master
2019-01-20 21:54:14 +04:00
twinaphex 4350073265 Revert "Revert "Fix function signature of metal_unload_texture""
This reverts commit 1a7d69621f.
2019-01-20 17:34:38 +01:00
twinaphex 1a7d69621f Revert "Fix function signature of metal_unload_texture"
This reverts commit bd16d5c9dc.
2019-01-20 17:33:07 +01:00
orbea cf83332b49 qb: Replace remaining uses of echo with printf. 2019-01-20 08:08:02 -08:00
Twinaphex bd16d5c9dc Fix function signature of metal_unload_texture 2019-01-20 03:31:45 +01:00
Twinaphex 5102911da6 (OSX) Buildfix 2019-01-20 03:26:35 +01:00
twinaphex b13777e9fc Header cleanups 2019-01-20 03:16:58 +01:00
twinaphex cfd7228469 Cleanups 2019-01-20 02:57:12 +01:00
Twinaphex 7c4fcb4960 Fix Xcode warnings 2019-01-20 02:37:05 +01:00
twinaphex 2e5530b531 Take out unused variable 2019-01-20 02:32:27 +01:00
twinaphex 4f53e14f4f Header include cleanups 2019-01-20 02:26:33 +01:00
twinaphex 0083e10926 Some header include changes - create task_file_transfer.h 2019-01-20 02:17:43 +01:00
twinaphex 9bb7132b97 Move command_playlist_ functions to playlist.c
(RGUI) Header buildfix
2019-01-20 01:57:24 +01:00
twinaphex 8349f9217c Warning cleanup 2019-01-20 01:52:20 +01:00
twinaphex d3ae2cbd29 Cleanup some header includes 2019-01-20 01:49:21 +01:00
twinaphex 22e99568ed Small cleanups 2019-01-20 00:48:02 +01:00
Twinaphex b692474d7c Merge pull request #8038 from jdgleaver/rgui-thumbs
(RGUI) Add rudimentary playlist thumbnail support
2019-01-20 00:20:14 +01:00
Twinaphex b99ad352e3 Merge pull request #8043 from daliaetnano/fix-6747-black-bug
Fix #6747 Black bug
2019-01-20 00:17:37 +01:00
Twinaphex 7f327e7154 Merge pull request #8046 from orbea/gl
Fix segfault with a null gl context.
2019-01-19 23:35:48 +01:00
twinaphex 83241ed0b1 Some header cleanups 2019-01-19 23:27:59 +01:00
twinaphex 0abe271909 Take out some header includes 2019-01-19 23:15:48 +01:00
twinaphex 1a0d5030f9 shader_vulkan.cpp - doesn't need math.h 2019-01-19 23:02:48 +01:00
orbea 46676289d4 Fix segfault with a null gl context. 2019-01-19 13:56:39 -08:00
meleu 8e02ebd987 cheevos-new: no magic numbers 2019-01-19 17:59:41 -02:00
Twinaphex 8c5f4a842c Merge pull request #8010 from rzumer/lynx-cheevos-fix
Hash full Lynx file content
2019-01-19 19:30:47 +01:00
meleu b7acc33bda cheevos-new: update nes/snes/lynx hashing methods 2019-01-19 15:29:54 -02:00
meleu f78f447b12 better handling HAVE_NEW_CHEEVOS build 2019-01-19 15:14:24 -02:00
Twinaphex 5611977de0 Merge pull request #8044 from krzys-h/uwp
(UWP) Fix Bundle.Mapping.txt path
2019-01-19 18:11:04 +01:00
meleu 159839e353 rcheevos leftover 2019-01-19 14:24:28 -02:00
orbea 9c7affc2cf Travis + qb fixes. (#8040)
* travis: Enable building qt for linux.

* qb: Set QT_SELECT for moc and qtchooser.

This should have no effect on systems where qtchooser is not used.

Fixes https://github.com/libretro/RetroArch/issues/8028

* qb: Actually disable c++ features if there is no c++ compiler.

Now this warning actually does something.

  Warning: A working C++ compiler was not found, C++ features will be disabled.
2019-01-19 11:21:31 -05:00
krzys-h 1f952679a8 (UWP) Fix Bundle.Mapping.txt path 2019-01-19 12:21:20 +01:00
krzys-h e5a2221eac Make lambdas safer for multithreading 2019-01-19 12:13:16 +01:00
krzys-h 20cb84189e Fix problems with UWP filesystem in Release builds 2019-01-19 12:04:55 +01:00
Nano c017271d8a Fix #6747 Black bug 2019-01-19 10:26:06 +01:00
Twinaphex 71f24f067b Merge pull request #8041 from meleu/patch-1
small path fix to allow compiling with HAVE_NEW_CHEEVOS
2019-01-19 09:14:31 +01:00
meleu bd43f19407 path fix to allow compiling with HAVE_NEW_CHEEVOS
This doesn't affect anything in the traditional binaries built by the buildbot.
2019-01-19 05:34:46 -02:00
Brad Parker cb4a87d6b1 fix system menu sound memory leaks in mod mixing 2019-01-19 00:46:54 -05:00
Brad Parker ae397f2ae5 fix system menu sound memory leaks in flac mixing 2019-01-18 21:03:47 -05:00
Brad Parker 32313b398b fix system menu sound memory leaks in mp3 mixing 2019-01-18 21:00:41 -05:00
Brad Parker 95a7b8c29b fix system menu sound memory leaks in ogg mixing 2019-01-18 20:02:24 -05:00
Brad Parker afcaccbd05 task_audio_mixer: free nbio_buf path memory 2019-01-18 19:06:59 -05:00
Brad Parker e81ad553ad playlist: free filestream before early returning 2019-01-18 19:03:25 -05:00
orbea 79f8b6281f Revert "WIP: travis: Enable building qt for linux." (#8039) 2019-01-18 14:34:22 -05:00
Twinaphex a578146a9f Merge pull request #8033 from orbea/moc
qb: Create qb.moc.sh and qb.make.sh.
2019-01-18 20:22:26 +01:00
Twinaphex 8cd85c4f51 Merge pull request #8034 from orbea/blank
Remove trailing blank lines.
2019-01-18 20:22:09 +01:00
Twinaphex b4348e3ae1 Merge pull request #8035 from orbea/fix
Fix conflicting types.
2019-01-18 20:22:00 +01:00
Twinaphex e4731d2b5e Merge pull request #8037 from krzys-h/uwp
Fix crash in xinput with verbose logging
2019-01-18 20:21:52 +01:00
Twinaphex 726a014cb3 Merge pull request #8036 from orbea/travis
WIP: travis: Enable building qt for linux.
2019-01-18 20:21:31 +01:00
orbea 4b20386b07 travis: Test global packages. 2019-01-18 11:11:56 -08:00
orbea d8a62d5eab travis: Test QT_SELECT. 2019-01-18 09:27:16 -08:00
orbea 6f094a3fdd travis: Enable building qt for linux. 2019-01-18 09:27:16 -08:00
krzys-h d98962189a Fix crash in xinput with verbose logging 2019-01-18 17:50:13 +01:00
jdgleaver 4b859fd097 (RGUI) Add rudimentary playlist thumbnail support 2019-01-18 16:16:44 +00:00
orbea 8787f46c59 Fix conflicting types.
Fixes conflicting types after PR https://github.com/libretro/RetroArch/pull/8006
2019-01-17 20:02:49 -08:00
orbea e062b98088 Remove trailing blank lines.
find . -type f -exec sed -i '${/^[[:space:]]*$/d;}' {} \+
2019-01-17 19:39:38 -08:00
orbea e42c21321b qb: Create qb.moc.sh and qb.make.sh.
This moves the check for a Qt5 moc into its own file, qb.moc.sh which
is executed at the end of the script to avoid the direct dependency on
pkg-config. Now instead it depends on the QT5CORE_CFLAGS and
QT5CORE_LIBS variables set in config.lib.sh. These should always be set
if HAVE_QT=yes.

This also creates a new qb.make.sh file to ensure that the config.mk and
config.h files are created at the end of the configure script.
2019-01-17 18:36:03 -08:00
Twinaphex db0cb37dc3 Merge pull request #8032 from natinusala/master
libnx: enable stb vorbis for ogg decoding
2019-01-18 00:33:57 +01:00
Twinaphex 5182f24711 Merge pull request #8030 from fjtrujy/feature/PS2Palette
[PS2] Allow Palettes
2019-01-18 00:33:31 +01:00
twinaphex fc57b41ab6 (Audio mixer) You can now specifically set a slot to load a sound in
- set type to AUDIO_MIXER_SLOT_SELECTION_MANUAL and set idx to the
slot you want to load in (begins at 0)
2019-01-18 00:24:31 +01:00
natinusala f23d1d4901 libnx: enable stb vorbis for ogg decoding 2019-01-17 23:52:27 +01:00
orbea 2860d6af08 qb: Check for a Qt5 moc. (#8029) 2019-01-17 17:35:19 -05:00
Twinaphex dc6b148b17 Merge pull request #8027 from orbea/travis
travis: Don't use libretro-super for xcode9.3
2019-01-17 17:42:14 +01:00
orbea 2d7bb5519b travis: Don't use libretro-super for xcode9.3 2019-01-17 07:08:58 -08:00
krzys-h 4461d32900 (UWP) Fallback to a file copy when core doesn't support VFS 2019-01-17 11:48:09 +01:00
krzys-h a116bb908e (UWP) Support access through the file picker 2019-01-17 11:48:09 +01:00
krzys-h c8510378dc (UWP) Error if trying to use VFS on cores that don't support it 2019-01-17 11:08:05 +01:00
krzys-h 9188cc1a73 (UWP) Add broadFileSystemAccess support 2019-01-17 11:08:02 +01:00
krzys-h b7cc124070 (UWP) Base StorageFile implementation 2019-01-17 11:04:19 +01:00
twinaphex b70683fa08 Buildfix 2019-01-17 09:14:34 +01:00
Twinaphex b5d8b8b3bc Merge pull request #8020 from krzys-h/vfs-v3
VFS v3 (improved)
2019-01-17 03:14:35 +01:00
Twinaphex 38976150a5 Merge pull request #8023 from bparker06/archive_progress
Normalize archive progress calculation
2019-01-17 03:07:08 +01:00
Twinaphex 6963b1f375 Merge pull request #8024 from CozmoP/warning
-Woverloaded-virtual fix
2019-01-17 03:07:00 +01:00
twinaphex 65d5de6674 Add 4 additional mixer slots for system sound effects and music
for menu
2019-01-17 03:03:46 +01:00
CozmoP ef318533c3 -Woverloaded-virtual fix 2019-01-17 00:09:12 +01:00
Brad Parker 16fffd67ea Normalize archive progress calculation 2019-01-16 17:22:46 -05:00
Twinaphex 30e48b46b3 Merge pull request #8022 from bparker06/history_corrupt
Fix issue that was causing old name labels to appear in content history
2019-01-16 23:00:29 +01:00
Francisco Javier Trujillo Mata 3706aa9904 ClearVRAM detection improved 2019-01-16 22:57:08 +01:00
Francisco Javier Trujillo Mata f7c9bc4e61 Make GFX PS2 support palette in the cores 2019-01-16 22:57:08 +01:00
Brad Parker e2df9b52ce Fix issue that was causing old name labels to appear in content history 2019-01-16 16:48:20 -05:00
Twinaphex dd4bf2c41f Merge pull request #8021 from orbea/clang
Fix -Wmissing-braces warning with clang.
2019-01-16 22:29:00 +01:00
orbea bc09245dee Fix -Wmissing-braces warning with clang. 2019-01-16 13:14:48 -08:00
Twinaphex fd17970f61 Merge pull request #7925 from CozmoP/sync
Qt: Detailed file browser table and other changes.
2019-01-16 22:00:37 +01:00
krzys-h f011579c78 Fix memory leak when opening non-existent directories 2019-01-16 21:21:49 +01:00
krzys-h f93ae772f3 Fix error in path_get_size 2019-01-16 21:03:15 +01:00
krzys-h 5a97738f3e Revert "Revert "Cleanups""
This reverts commit 5c2d271f9f.
2019-01-16 21:01:37 +01:00
krzys-h e6fc4220fa Revert "Revert "VFS v3: stat, mkdir, directory listings""
This reverts commit a549e28f01.
2019-01-16 21:01:29 +01:00
Twinaphex c05be12ff4 Merge pull request #8019 from Datamats/libretro-glsym-nx
regenerate the glsym headers for the switch in libretro-common
2019-01-16 20:52:00 +01:00
Mats A 4f15d4a64c regenerate the glsym headers for the switch in libretro-common 2019-01-16 20:30:14 +01:00
Twinaphex d70a49ea6f Merge pull request #8017 from orbea/playlist
Silence errors for empty playlist files.
2019-01-16 19:33:56 +01:00
orbea e503f9e922 Silence errors for empty playlist files.
Fixes https://github.com/libretro/RetroArch/issues/8015
2019-01-16 09:40:21 -08:00
Twinaphex 31b1a91c3b Merge pull request #8014 from orbea/screenshot
Fix screenshot filename with no core or content.
2019-01-16 16:07:57 +01:00
orbea 02382b1cd7 Fix screenshot filename with no core or content. 2019-01-15 21:55:03 -08:00
Twinaphex 874a5258c5 Merge pull request #8013 from libretro/revert-7995-vfs-v3
Revert "VFS v3: stat, mkdir, directory listings"
2019-01-16 03:53:44 +01:00
Twinaphex a549e28f01 Revert "VFS v3: stat, mkdir, directory listings" 2019-01-16 03:53:34 +01:00
twinaphex 5c2d271f9f Revert "Cleanups"
This reverts commit 73e78f5135.
2019-01-16 03:53:23 +01:00
twinaphex 73e78f5135 Cleanups 2019-01-16 02:58:08 +01:00
Twinaphex d4b33ac1ad Merge pull request #7995 from krzys-h/vfs-v3
VFS v3: stat, mkdir, directory listings
2019-01-16 02:38:54 +01:00
Twinaphex 4e73be94b7 Merge pull request #8012 from CozmoP/gridfix
Qt: fix bug when grid item width > grid width
2019-01-16 01:49:13 +01:00
CozmoP e4bc578466 Qt: fix bug when grid item width > grid width 2019-01-16 00:11:58 +01:00
Twinaphex 10c7929d55 Merge pull request #7996 from fr500/master
support subsystem type netplay lobbies
2019-01-15 21:40:05 +01:00
Twinaphex 3ec4469455 Merge pull request #8011 from CozmoP/msvc2017
fix MSVC 2017 Qt builds
2019-01-15 21:39:16 +01:00
CozmoP a88277f76d #undef mkdir 2019-01-15 19:41:24 +01:00
CozmoP 0df074db05 fix MSVC 2017 Qt builds 2019-01-15 18:58:31 +01:00
Raphaël Zumer b1de875551 Define lynx_header_len at the function head 2019-01-15 12:19:25 -05:00
Raphaël Zumer cdbfec7348 Make SNES_HEADER_LEN snake case 2019-01-15 12:18:58 -05:00
Raphaël Zumer 4260f9ffbc Hash full Lynx file content 2019-01-15 12:12:13 -05:00
radius 82836c5778 [netplay] simplify find content task 2019-01-14 20:17:53 -05:00
radius d3ae49b30b add sublabels 2019-01-14 18:58:57 -05:00
radius dad3fe42db [netplay] load subsystem content
cleanup

cleanup
2019-01-14 18:58:57 -05:00
radius 9d0472c3ac [netplay] finding content works now
cleanup
2019-01-14 18:58:56 -05:00
radius f0b8d2d12e [netplay] support subsystem type netplay lobbies 2019-01-14 18:58:56 -05:00
Twinaphex c7054a36f2 Merge pull request #8009 from krzys-h/fix-7803
Fix parent of root directory turning into ./ on Windows
2019-01-14 21:32:06 +01:00
krzys-h cc7541338c Fix parent of root directory turning into ./ on Windows (#7803) 2019-01-14 20:48:55 +01:00
CozmoP 8adef3b995 Qt: move some styles to stylesheet 2019-01-14 20:06:07 +01:00
Twinaphex 0805f4e821 Merge pull request #8008 from natinusala/master
libnx swkbd overclock fix + ozone memory leak fix
2019-01-14 20:01:56 +01:00
natinusala 0b4f6c1ce4 ozone: fix memory leak 2019-01-14 19:49:56 +01:00
natinusala ea027c0b55 libnx: use stock clock for swkbd 2019-01-14 19:04:13 +01:00
Twinaphex 5c09cf29a4 Merge pull request #8006 from orbea/qt2
Fix wimp ui.
2019-01-14 14:26:24 +01:00
Twinaphex 10833fc9ae Merge pull request #8007 from orbea/qt
Fix qt with CXX_BUILD.
2019-01-14 14:26:02 +01:00
orbea b3157c14e8 Fix wimp ui.
Fixes https://github.com/libretro/RetroArch/issues/8005
2019-01-14 00:37:52 -08:00
orbea c1765f0a6c Fix qt with CXX_BUILD. 2019-01-14 00:24:46 -08:00
twinaphex f0994a0502 retroarch.c - some cleanups 2019-01-14 05:25:04 +01:00
twinaphex 7cb84245b7 Simplify runloop 2019-01-14 04:39:58 +01:00
Twinaphex fab4834b82 Merge pull request #7959 from bparker06/json_playlist
add JSON playlist format
2019-01-14 03:14:54 +01:00
Twinaphex 1bb381fd7e Merge pull request #8002 from theheroGAC/patch-41
Update msg_hash_it.h
2019-01-14 00:56:02 +01:00
Twinaphex b93c21091b Merge pull request #8003 from orbea/cxx
Fix CXX_BUILD errors.
2019-01-14 00:55:54 +01:00
CozmoP 2ef9e5757b Qt: switch to stacked layout to avoid bug. Add border to file browser table. 2019-01-13 23:34:57 +01:00
CozmoP a0b67424ca Qt: don't wrap table cell text 2019-01-13 20:57:19 +01:00
orbea ff2e3bbbce Fix CXX_BUILD errors. 2019-01-13 11:51:33 -08:00
Rob Loach 63ba60ae1a Merge pull request #7976 from orbea/brew
travis: Attempt to fix xcode9.3 travis build.
2019-01-13 14:41:31 -05:00
theheroGAC 473bae15c3 Update msg_hash_it.h 2019-01-13 20:38:05 +01:00
Twinaphex 8f8cec52f2 Merge pull request #8001 from fjtrujy/feature/PS2VSyncDisabled
[PS2] Improve VRAM clear detection
2019-01-13 20:23:40 +01:00
Francisco Javier Trujillo Mata a5d381eced Improve VRAM clear detection 2019-01-13 20:19:21 +01:00
Twinaphex 39209dd387 Merge pull request #8000 from fjtrujy/feature/PS2VSyncDisabled
WIP: [PS2] Enable the possibility to disable VSync
2019-01-13 20:11:05 +01:00
Francisco Javier Trujillo Mata ba75b1f4b3 Enable the possibility to disable VSync 2019-01-13 19:15:52 +01:00
Brad Parker af7379889d prevent null pointer deref in save/state/cheat paths 2019-01-13 12:10:47 -05:00
Twinaphex 034ef10d3f Merge pull request #7999 from krzys-h/uwp
Fix warning in uwp_input.c
2019-01-13 18:01:29 +01:00
krzys-h e65f87a4ee Fix warning in uwp_input.c 2019-01-13 16:01:59 +01:00
krzys-h 4b2278688b Unix buildfix for dirent_is_directory 2019-01-13 14:49:01 +01:00
twinaphex 5b88685448 Unroll this 2019-01-13 07:46:35 +01:00
Brad Parker 331a7dedf1 griffin: jsonsax_full is always required now 2019-01-13 00:26:30 -05:00
Twinaphex cb596aec3a Merge pull request #7820 from meepingsnesroms/master
Buttons are only 16 bits so only use uint16_t to prevent wasting 6 bytes
2019-01-13 04:55:34 +01:00
Brad Parker 2ee8888a65 Update CHANGES.md 2019-01-12 21:30:54 -05:00
Twinaphex 75aa27ab94 Merge pull request #7972 from Wiimpathy/WiiGammaSettings
Wii: Fix Gamma setting not saved.
2019-01-13 03:24:30 +01:00
Twinaphex c4669c3302 Merge pull request #7992 from Sunderland93/master
[Wayland] Fix toggle fullscreen
2019-01-13 01:34:06 +01:00
Twinaphex 7a4efedbfe Merge pull request #7994 from orbea/travis2
travis: Clean up.
2019-01-13 01:04:09 +01:00
krzys-h 109de0bebb VFS v3: stat, mkdir, directory listings 2019-01-13 00:33:24 +01:00
Brad Parker 1b22acd747 guard against overflows in Arabic font code, fixes #7508 2019-01-12 17:23:19 -05:00
twinaphex af74ba90db Buildfixes 2019-01-12 21:34:14 +01:00
Twinaphex 14a22aaadd Merge pull request #7987 from orbea/qt
Don't disable the Qt frontend when started from the commandline.
2019-01-12 21:21:04 +01:00
twinaphex 7ad34509e7 Silence more CXX_BUILD warnings 2019-01-12 21:16:48 +01:00
Brad Parker 88750850dc move playlist entries into "items" array to allow for top-level metadata 2019-01-12 13:46:28 -05:00
Sunderland93 dba9781f26 Fix toggle fullscreen 2019-01-12 22:18:31 +04:00
twinaphex 6ca9afbd57 Silence more warnings with CXX_BUILD 2019-01-12 18:51:06 +01:00
orbea d86fe8d6e6 Don't disable the Qt frontend when started from the commandline.
Fixes https://github.com/libretro/RetroArch/issues/7962.
2019-01-12 09:40:05 -08:00
twinaphex 4c8e5e07c0 Fix some CXX_BUILD errors 2019-01-12 18:35:14 +01:00
twinaphex d412c9f8d4 Fix some CXX_BUILD errors 2019-01-12 18:30:06 +01:00
twinaphex 0f8cf1a579 C89 buildfix 2019-01-12 18:15:49 +01:00
twinaphex 6048eba78a Move static variable around 2019-01-12 18:10:22 +01:00
twinaphex d95b4b70e7 Some cleanups to runloop - should not affect anything functionality-wise 2019-01-12 17:58:35 +01:00
Twinaphex 700829b5d7 Merge pull request #7991 from krzys-h/com-init-again
Fix COM initialization on Qt builds
2019-01-12 15:21:58 +01:00
krzys-h 901c712e61 Fix COM initialization on Qt builds 2019-01-12 09:46:20 +01:00
Twinaphex fed880bc33 Merge pull request #7986 from krzys-h/uwp
(UWP) Add keyboard mapping support in the uwp driver
2019-01-12 05:11:14 +01:00
Twinaphex ff8e10f014 Merge pull request #7984 from myfreeweb/egl-fix
Fix EGL initialization not setting 'n'
2019-01-12 05:10:46 +01:00
CozmoP 2052e15a08 pass content label when loading content from Qt (#7982) 2019-01-11 18:51:44 -05:00
Twinaphex 2231e4c821 Merge pull request #7988 from m4xw/nx
Fix double semicolon and format line endings
2019-01-12 00:38:56 +01:00
M4xw c111b4a7f0 Fix double semicolon and format line endings 2019-01-11 23:48:52 +01:00
krzys-h e08f79e16b (UWP) Add keyboard mapping support in the uwp driver 2019-01-11 20:24:26 +01:00
Greg V 3ab7e780d1 EGL: use unused 'n' argument for storing the config count (fixes #7953)
The 'n' argument was probably intended for the count, but it was unused.
The Wayland platform would check whether n would be non-zero (and
wouldn't initialize n with zero), so it would only succeed because it
was initialized with random garbage.

Pointy hat: @Sunderland93
2019-01-11 20:41:40 +03:00
Greg V b52a5ae664 Remove trailing whitespace in wayland_ctx.c
vim has been helpfully doing this for me every time I saved the file
and I've had to manually ignore these changes when committing.
Let's just commit this.
2019-01-11 20:37:59 +03:00
Twinaphex 58d764ce5d Merge pull request #7983 from natinusala/master
libnx: implement perf counters
2019-01-11 18:23:28 +01:00
natinusala 52479ad09f libnx: implement perf counters 2019-01-11 17:45:06 +01:00
Brad Parker f0e2f7dcf4 Merge branch 'master' into json_playlist 2019-01-11 09:02:11 -05:00
Twinaphex 78cc8794f7 Merge pull request #7979 from fjtrujy/FixPS2CoreGlich
[PS2] Clean screen before the core start
2019-01-11 14:49:12 +01:00
Francisco Javier Trujillo Mata 7b175496ce [PS2] Clean screen before the core start 2019-01-11 14:42:47 +01:00
orbea 39442c7bba travis: Clean up. 2019-01-11 02:16:08 -08:00
orbea 12bb9e5cb5 travis: Attempt to fix xcode9.3 travis build. 2019-01-10 22:10:41 -08:00
Twinaphex af48987eb9 Merge pull request #7975 from orbea/unload
Fix crashes when changing cores.
2019-01-11 04:54:53 +01:00
orbea 32586bc316 Fix crashes when changing cores.
When switching cores it was possible to hit core_unload_game
and core_load twice which potentially led to crashes when switching
some cores without closing content before loading the new core.

Fixes https://github.com/libretro/RetroArch/issues/4107
2019-01-10 19:04:51 -08:00
twinaphex 13ccf4d408 Silence some more static code analysis warnings 2019-01-11 01:35:18 +01:00
CozmoP 07c3bff2f8 Qt: set fixed height to search and core selection widgets 2019-01-11 01:31:27 +01:00
Twinaphex ccec13e64f Merge pull request #7974 from libretro/revert-7973-fix-2791-black-bug
Revert "Fix issue #6747 black bug"
2019-01-10 22:52:23 +01:00
Twinaphex 01397f008a Revert "Fix issue #6747 black bug" 2019-01-10 22:52:13 +01:00
twinaphex 3ac631c7a3 (MSVC) Some more static code analysis warning fixes 2019-01-10 22:49:23 +01:00
Twinaphex e4f9aebbd3 Merge pull request #7973 from daliaetnano/fix-2791-black-bug
Fix issue #6747 black bug
2019-01-10 22:36:40 +01:00
twinaphex c98b2e2292 Buildfixes and more static code analysis warning fixes 2019-01-10 22:24:43 +01:00
twinaphex b9ff2e4de1 Fix some static code analysis warnings from MSVC 2017 2019-01-10 21:47:15 +01:00
benoa 10723bca01 Wii: Fix Gamma setting not saved. 2019-01-10 18:18:20 +01:00
Twinaphex 24ce1aee21 Merge pull request #7969 from krzys-h/com-init-is-broken
Initialize COM only once, globally
2019-01-10 17:28:23 +01:00
krzys-h 98c19ac0f5 Add a missing header
Apparently MSVC adds this by default or something
2019-01-10 17:22:32 +01:00
krzys-h 0cff7eefa7 Initialize COM only once, globally 2019-01-10 16:48:02 +01:00
Brad Parker d3210b87ae proper init of ITaskbarList 2019-01-10 09:25:02 -05:00
Twinaphex 5a12ca642c Merge pull request #7967 from jdgleaver/rgui-gekko-colour-fix
(RGUI) Fix background + border colours for Gekko platforms
2019-01-10 15:16:31 +01:00
Twinaphex 6ec2134111 Merge pull request #7968 from fr500/master
disable discord code in ozone
2019-01-10 15:16:05 +01:00
Twinaphex cdcadf6237 Merge pull request #7769 from rzumer/patch-2
Update NES and SNES hashing methods
2019-01-10 15:14:08 +01:00
radius bd2a13e32c disable discord code in ozone 2019-01-10 09:01:03 -05:00
jdgleaver 74312180b9 (RGUI) Fix background + border colours for Gekko platforms 2019-01-10 13:16:08 +00:00
Twinaphex 57c5563b3b Merge pull request #7966 from fjtrujy/feature/PS2GuideStyleLines
[PS2] Apply guideline styles for PS2 files
2019-01-10 12:02:17 +01:00
Francisco Javier Trujillo Mata 29948c0878 Apply guideline styles for PS2 files 2019-01-10 09:37:09 +01:00
Brad Parker 402ea3944e Update CHANGES.md 2019-01-09 21:28:46 -05:00
Twinaphex 840da62e20 Merge pull request #7964 from fr500/master
disable discord avatar for now, not time to hook it up properly
2019-01-10 03:17:28 +01:00
radius 6e1dc5af46 disable discord avatar for now, not time to hook it up properly 2019-01-09 21:13:04 -05:00
twinaphex e13a142bae Wrap access to runloop_key_event 2019-01-10 02:49:25 +01:00
twinaphex 90ad541413 Typo fix 2019-01-10 02:35:35 +01:00
twinaphex d3f58bb65c Wrap all access of runloop_shutdown_initiated 2019-01-10 02:35:03 +01:00
Twinaphex 96b7f9fd9e Merge pull request #7963 from fjtrujy/feature/PS2GFXImprovements
Improve manage of VRAM in the GFX and Font Driver for PS2
2019-01-10 02:30:24 +01:00
Twinaphex 9c507b2433 Merge pull request #7961 from fjtrujy/feature/solvePS2RunTimeIssues
Make PS2 works again
2019-01-10 02:30:14 +01:00
Francisco Javier Trujillo Mata a2db47bead Improve manage of VRAM in the GFX and Font Driver for PS2 2019-01-10 02:25:02 +01:00
Francisco Javier Trujillo Mata 9c7c5e0814 This commit revert part of the changes done for the PS4 implementation but fixes PS2 crash 2019-01-10 02:20:49 +01:00
CozmoP 7cac57a09a Qt: proper fix for file browser core association. Add padding to items count label for dark theme. 2019-01-10 01:01:01 +01:00
bparker06 c7779ff046 Remove extra CoUninitialize 2019-01-09 18:51:25 -05:00
bparker06 a7a959ccba always call CoUninitialize if we support the taskbar extensions 2019-01-09 18:49:39 -05:00
Brad Parker a331b7420e update copyrights 2019-01-09 17:19:19 -05:00
Brad Parker c7041260d7 add JSON playlist format 2019-01-09 17:13:13 -05:00
Twinaphex bc2f19a9d7 Merge pull request #7957 from altiereslima/master
Update Portuguese Brazilian Language
2019-01-09 23:04:45 +01:00
altiereslima 03e25ecb2f Update msg_hash_pt_br.h 2019-01-09 20:02:34 -02:00
altiereslima c26a4aa13a Update msg_hash_pt_br.h 2019-01-09 19:54:35 -02:00
Nano f1ba335cb3 Fix issue #2791 black bug 2019-01-09 22:52:45 +01:00
twinaphex 60533b10b7 (RGUI) Add specific color conversion for Gekko [Wii/Gamecube] 2019-01-09 22:05:33 +01:00
Twinaphex 9231998aa3 Merge pull request #7951 from jdgleaver/rgui-ps2-colour-fix
(RGUI) Fix background + border colours for PS2
2019-01-09 21:26:14 +01:00
Twinaphex 60a2d5c87c Merge pull request #7952 from orbea/dummy
Fix crashes with '--disable-menu' and the Qt frontend.
2019-01-09 19:29:03 +01:00
orbea 7eead5c59f Fix crashes with '--disable-menu' and the Qt frontend.
When failing to load content in the companion ui when HAVE_MENU is not
defined RetroArch will crash in just about every input and video driver.
Even if several sanity checks are added the dummy core will immediately
exit.

Now it will print that it failed to load the core in the companion ui
and reinit the dummy core to match the behavior with the null menu
driver.
2019-01-09 10:02:32 -08:00
jdgleaver c433934415 (RGUI) Fix background + border colours for PS2 2019-01-09 15:34:52 +00:00
Twinaphex db36f08920 Merge pull request #7942 from ArnaudFaucher/master
msvc-uwp: fixed certificate file name
2019-01-09 13:00:56 +01:00
Twinaphex 9bbbb929f8 Merge pull request #7950 from jdgleaver/rgui-colour-themes
(RGUI) Add colour themes
2019-01-09 12:46:41 +01:00
jdgleaver faaa6e081b (RGUI) Add colour themes 2019-01-09 10:50:24 +00:00
Twinaphex f500cf19ab Merge pull request #7945 from fr500/master
[discord] early return if avatar isn't set
2019-01-09 11:49:09 +01:00
Twinaphex a3f7588ec5 Merge pull request #7947 from orbea/null
Fix crash with the null menu driver and Qt frontend.
2019-01-09 11:48:50 +01:00
Twinaphex 6420ea8f27 Merge pull request #7946 from bparker06/playlist
fix heap overflow with playlists
2019-01-09 11:48:25 +01:00
orbea 248c944ff8 Fix crash with the null menu driver and Qt frontend.
When failing to load content in the Qt companion ui while using the
null menu driver RetroArch will crash.

Now it just prints that it failed to load content in the Qt ui.
2019-01-08 23:01:05 -08:00
Brad Parker 0c634382f9 fix heap overflow with playlists 2019-01-08 23:08:58 -05:00
radius 77c2c7b946 [discord] early return if avatar isn't set 2019-01-08 20:54:52 -05:00
twinaphex 01b2b9c3a6 Buildfix 2019-01-09 01:01:03 +01:00
Twinaphex cdc0a79508 Merge pull request #7872 from natinusala/libnx-swkbd
libnx: implement swkbd for menu drivers
2019-01-09 00:29:31 +01:00
Twinaphex ac04c1bfc5 Merge pull request #7892 from Datamats/libnx_nwindow
libnx: refactor all the code of the now deprecated gfx api over to the new nwindow / framebuffer api
2019-01-08 23:36:20 +01:00
Arnaud Faucher 12aaf615a8 msvc-uwp: fixed certificate file name 2019-01-08 16:29:54 -05:00
Twinaphex 9caf71df7a Merge pull request #7885 from myfreeweb/more-wayland
Wayland: track multiple displays and their scales
2019-01-08 21:45:53 +01:00
Twinaphex d2f7853d49 Merge branch 'master' into more-wayland 2019-01-08 21:45:43 +01:00
twinaphex ddbb1a4d43 Update 2019-01-08 21:43:40 +01:00
twinaphex ef35cf5ac0 Add fopen_utf8 for Salamander builds 2019-01-08 21:42:52 +01:00
twinaphex 9b801aee17 Buildfixes 2019-01-08 20:43:03 +01:00
twinaphex 6bd4d91038 Cleanups 2019-01-08 20:32:40 +01:00
twinaphex b74b24e648 Change to C comment 2019-01-08 20:22:44 +01:00
Twinaphex 6aa501bc70 Merge pull request #7938 from frangarcj/orbis2
[ORBIS] Some driver fixes and host filesystem support
2019-01-08 20:18:48 +01:00
Twinaphex 40997473ed Merge branch 'master' into orbis2 2019-01-08 20:18:08 +01:00
Twinaphex 19c4fcda88 Merge pull request #7941 from orbea/squeeze
Squeeze extra blank lines with cat(1).
2019-01-08 20:14:17 +01:00
orbea bfc366decc Squeeze extra blank lines with cat(1).
Example:

find . -type f -iname '*.c' | while read -r i; do
  cat -s "$i" > "$i.new"
  mv "$i.new" "$i"
done
2019-01-08 11:04:58 -08:00
twinaphex 93346fed6b Buildfix 2019-01-08 17:53:58 +01:00
Twinaphex c2047c8c04 Merge pull request #7935 from orbea/menu
Makefile.common: Remove redundant HAVE_MENU check.
2019-01-08 12:31:27 +01:00
Twinaphex 3c8ca30b07 Merge pull request #7932 from fr500/master
WIP: [netplay] subsystem support
2019-01-08 12:31:02 +01:00
Twinaphex 2c8ca91cf0 Merge pull request #7930 from orbea/opt
Fix crash with quick menu options.
2019-01-08 12:30:48 +01:00
Twinaphex 7493f9cf37 Merge pull request #7936 from orbea/threads
Fix savestates without HAVE_MENU.
2019-01-08 12:30:28 +01:00
Twinaphex 1673c73702 Merge pull request #7939 from alfrix/master
Fix #7934
2019-01-08 12:28:20 +01:00
Alfredo Monclus 628fc8a690 Fix #7934 2019-01-08 07:52:17 -03:00
orbea afc00cf155 Fix savestates without HAVE_MENU.
Fixes https://github.com/libretro/RetroArch/issues/7933
2019-01-07 22:40:09 -08:00
orbea 6a0ac8584c Makefile.common: Remove redundant HAVE_MENU check. 2019-01-07 21:51:04 -08:00
hizzlekizzle 3e5237ed72 Merge pull request #7931 from fr500/master
[subsystem] fix sram
2019-01-07 22:32:57 -06:00
radius 58e192881a [netplay] announce subsystems 2019-01-07 23:30:48 -05:00
radius cb00455f12 [subsystem] fix sram 2019-01-07 22:27:22 -05:00
orbea 098dc61ad3 Fix crash with quick menu options.
If the 'game specific options' setting is disabled the drop down menu
for the core options will crash on the first option and then have an
offset with all of the additional options.

Fixes https://github.com/libretro/RetroArch/issues/7915
2019-01-07 18:10:31 -08:00
Twinaphex cf49f0c050 Merge pull request #7927 from orbea/qb
qb: Remove outdated checks.
2019-01-08 01:14:36 +01:00
Twinaphex be12b8ff82 Merge pull request #7929 from fr500/master
[discord] fix
2019-01-08 01:14:29 +01:00
Twinaphex 983e0a900f Merge pull request #7928 from fjtrujy/feature/PS2Controller
[PS2] Input Driver - 2 Player
2019-01-08 01:13:56 +01:00
radius 6613421537 [discord] fix 2019-01-07 19:08:53 -05:00
Francisco Javier Trujillo Mata 9370fb604d Enable 2 controller for PS2 Driver (multiplayer is not implemented yet) 2019-01-08 00:28:14 +01:00
CozmoP f5f4630133 Qt: quick fix for file browser core selection. 2019-01-07 23:50:21 +01:00
orbea 35f6dd640d qb: Remove outdated checks. 2019-01-07 14:42:06 -08:00
Francisco Javier Trujillo Mata cd764ac37b Remove not needed free in the FONT driver 2019-01-07 23:02:01 +01:00
CozmoP c1d126d3bf Qt: make playlist list icons 32x32 2019-01-07 22:48:45 +01:00
Twinaphex 54a795bfd7 Merge pull request #7924 from orbea/menu_null
menu: Fix quick menu toggle crash with the null menu driver.
2019-01-07 21:57:18 +01:00
Twinaphex d325752183 Merge pull request #7926 from fjtrujy/feature/PS2FontDriver
[PS2] Create Font driver for PS2
2019-01-07 21:56:14 +01:00
Francisco Javier Trujillo Mata 26ce69694f Create Font driver for PS2 2019-01-07 21:51:48 +01:00
CozmoP 8df7540c96 Merge branch 'master' into sync 2019-01-07 21:24:44 +01:00
CozmoP 017abf4148 Qt: Detailed file browser table. Don't allow dropping files on file browser table. Share selection between playlist views. Show grid footer on list view too. Add items count to footer. Rename a couple functions. 2019-01-07 20:56:23 +01:00
orbea d37547e6fd menu: Fix quick menu toggle crash with the null menu driver. 2019-01-07 11:42:48 -08:00
Twinaphex aa231dca10 Merge pull request #7922 from natinusala/master
libnx: add HAVE_CHD to the Makefile
2019-01-07 20:29:27 +01:00
natinusala 27d1cc9905 libnx: add HAVE_CHD to the Makefile 2019-01-07 19:08:41 +01:00
Mats 462a4b24fd libnx: refactor all the code of the now deprecated gfx api over to the new nwindow / framebuffer api 2019-01-07 15:03:44 +01:00
Twinaphex 6384313279 Merge pull request #7914 from orbea/menu
menu: Display menu drivers in alphabetical order.
2019-01-07 10:03:27 +01:00
Twinaphex 9bd97784a3 Merge pull request #7916 from orbea/qb
qb: Fix typo in --help.
2019-01-07 10:02:45 +01:00
Twinaphex c44235611d Merge pull request #7918 from orbea/rgui
qb: Improve menu check without opengl, opengles or vulkan.
2019-01-07 10:02:30 +01:00
Twinaphex c1477c10b9 Merge pull request #7919 from orbea/osx
Attempt to fix xcode8 travis build failure.
2019-01-07 10:02:16 +01:00
orbea 58fa3bc940 Attempt to fix xcode8 travis build failure. 2019-01-06 22:47:03 -08:00
orbea 23c8a31d69 qb: Improve menu check without opengl, opengles or vulkan. 2019-01-06 22:18:02 -08:00
Brad Parker 459a19be57 fix infinite loop with null menu driver 2019-01-07 00:31:57 -05:00
orbea 749e882b58 qb: Fix typo in --help. 2019-01-06 21:18:36 -08:00
orbea d25b632b88 Fix segfault with null menu driver. (#7913) 2019-01-06 23:34:25 -05:00
Brad Parker 5bedd981ec allow shaders when menu is disabled 2019-01-06 23:03:28 -05:00
Brad Parker 13ee5ccfdf init core info when menu is disabled, remove more menu dependance from Qt 2019-01-06 22:04:23 -05:00
orbea 161785f588 menu: Display menu drivers in alphabetical order. 2019-01-06 17:38:16 -08:00
Twinaphex 9b46caa6db Merge pull request #7911 from fjtrujy/feature/PS2OpenRGUIMenu
[PS2] Open RetroArch menu from Core
2019-01-07 01:42:01 +01:00
Francisco Javier Trujillo Mata f48ffb9aac Open RetroArch Menu Long Pressing Start button 2019-01-07 01:38:48 +01:00
Twinaphex 49776510ce Merge pull request #7912 from fr500/discord
[discord] rewrite secret/join logic to use a queried lobby name
2019-01-07 01:14:03 +01:00
radius b8f20e60c2 [discord] rewrite secret/join logic to use a queried lobby name 2019-01-06 19:04:08 -05:00
Brad Parker 22598feca3 Qt: there is no core info with --disable-menu 2019-01-06 17:45:22 -05:00
Brad Parker 8343cf2680 re-word warning message 2019-01-06 17:39:19 -05:00
Brad Parker 65c6bb69a4 allow building Qt with --disable-menu 2019-01-06 17:37:36 -05:00
orbea 65c6caf5a6 qb: Add '--disable-menu'. (#7910)
This adds '--disable-menu' which will disable all of the menu drivers
including Qt. This will also allow disabling only rgui and not the other
menu drivers.
2019-01-06 17:30:50 -05:00
Francisco Javier Trujillo Mata 3bb0c7caa4 Disable the time function, after start core is not working fine. 2019-01-06 23:26:34 +01:00
orbea 5428d2a833 Fix warning with '--disable-rgui' and '--disable-easteregg'. (#7908)
Fixes:

retroarch.c: In function ‘runloop_check_state’:
retroarch.c:2593:20: warning: variable ‘seq’ set but not used [-Wunused-but-set-variable]
    static uint64_t seq              = 0;
                    ^~~
2019-01-06 17:21:15 -05:00
Tatsuya79 92e2221c2d fix gong scaling (#7907) 2019-01-06 13:10:40 -05:00
twinaphex 2686cf1498 Fix disable-rgui 2019-01-06 17:04:28 +01:00
Twinaphex ad3e66dcb0 Merge pull request #7737 from CozmoP/modelview
Qt: custom playlist model and playlist view
2019-01-06 16:07:05 +01:00
Twinaphex 2ccde34813 Merge pull request #7906 from krzys-h/uwp-minor-fixes
(UWP) Minor fixes
2019-01-06 15:53:39 +01:00
krzys-h ced5af9314 (UWP) Don't try to access C:\Windows\Fonts
It's going to fail anyway
2019-01-06 15:46:03 +01:00
krzys-h dcdcc938bf (UWP) Fix win32 nbio 2019-01-06 15:45:51 +01:00
krzys-h 0129f7e4ad (UWP) Fix signing certificate path for non-free cores
Broken in ff1ca99748
2019-01-06 15:45:51 +01:00
Twinaphex bd9146ed72 Merge pull request #7905 from alfrix/more_icons
More icons
2019-01-06 09:16:25 +01:00
Twinaphex 56c246482e Merge pull request #7902 from orbea/rgui
qb: Fix '--disable-rgui'.
2019-01-06 09:16:01 +01:00
Twinaphex d1a65f15cc Merge pull request #7899 from orbea/command
Remove duplicate command.h includes.
2019-01-06 09:15:24 +01:00
alfrix 18db7104cc More icons to ozone, update changelog 2019-01-06 01:04:32 -03:00
alfrix c92136015a a couple more icons 2019-01-06 01:03:27 -03:00
alfrix ac8d3d7a51 Simplify the icon search and handle incomplete themes better 2019-01-06 01:03:27 -03:00
alfrix e83b3adc20 More Icons 2019-01-06 01:03:27 -03:00
Brad Parker 13d6ff899c Update CHANGES.md 2019-01-05 20:20:45 -05:00
orbea 2b0838ac02 udev: Disable the mouse when the window has lost focus. (#7851)
Fixes https://github.com/libretro/RetroArch/issues/5520

v2: Move check to udev_handle_mouse().
v3: Change check to udev_get_mouse to fix issue reported by RobLoach.
2019-01-05 19:56:41 -05:00
orbea 34f3eb7277 qb: Fix '--disable-rgui'.
Also fixes a crash on startup with '--disable-rgui'.

Thread 1 "retroarch" received signal SIGSEGV, Segmentation fault.
0x0000000000529f52 in strlcpy_retro__ (dest=0x7fffffffbb17 "treaming_toggle",
    source=0x1 <error: Cannot access memory at address 0x1>, size=250)
    at libretro-common/compat/compat_strl.c:38
38	      while (--n && (*dest++ = *source++)) src_size++;
(gdb) bt
    dest=0x7fffffffbb17 "treaming_toggle",
    source=0x1 <error: Cannot access memory at address 0x1>, size=250)
    at libretro-common/compat/compat_strl.c:38
    size=250) at libretro-common/compat/compat_strl.c:60
    out_path=0x7fffffffbb10 "input_", dir=0x94b460 "input", path=0x0,
    delim=95 '_', size=256) at libretro-common/file/file_path.c:964
    prefix=0x94b460 "input", btn=0x0, bind=0x151e180 <input_autoconf_binds+4672>)
    at input/input_driver.c:2483
    binds=0x151cf40 <input_autoconf_binds>) at tasks/task_autodetect.c:172
    params=0x26adb40, task=0x26b74f0) at tasks/task_autodetect.c:252
    params=0x26adb40, task=0x26b74f0) at tasks/task_autodetect.c:393
    at tasks/task_autodetect.c:851
    at libretro-common/queues/task_queue.c:182
    at libretro-common/queues/task_queue.c:609
    at frontend/frontend.c:146
    at frontend/frontend.c:170

Fixes https://github.com/libretro/RetroArch/issues/7893
2019-01-05 16:54:40 -08:00
Brad Parker 85b560e76b vc2003 buildfix 2019-01-05 19:19:53 -05:00
Andrés 714631b38d Discord ask-to-join fixes (#7903)
* C89 Fix

* use strlcat instead

* declare i on top

* declare buf on top
2019-01-05 19:16:28 -05:00
Brad Parker bbfbefa9dd easter egg 2019-01-05 18:33:29 -05:00
Twinaphex f97336ac86 Merge pull request #7900 from casdevel/i7861
Fix issue #7861
2019-01-05 23:05:29 +01:00
orbea 2081346358 Remove duplicate command.h includes. 2019-01-05 13:55:07 -08:00
Twinaphex 90baac517d Merge pull request #7732 from fr500/discord
WIP: Discord ask-to-join
2019-01-05 22:31:21 +01:00
Twinaphex aadc299cc2 Merge pull request #7898 from krzys-h/uwp-gamepads
(UWP) Fix multiple gamepads on xinput
2019-01-05 21:56:24 +01:00
krzys-h fce7ca80c1 (UWP) Fix multiple gamepads on xinput 2019-01-05 21:50:58 +01:00
radius ec53480a66 [discord] let's rewrite this to do the same but different 2019-01-05 15:11:58 -05:00
Twinaphex 95a27bc28e Merge pull request #7896 from fjtrujy/feature/dateImprovement
PS2 Timing Improvement
2019-01-05 19:09:34 +01:00
Francisco Javier Trujillo Mata d5a8c30dfe PS2 Timing Improvement 2019-01-05 18:47:39 +01:00
Twinaphex 6d0b6da60d Merge pull request #7895 from orbea/opt2
Makefile.orbis: Fix makefile.
2019-01-05 17:53:17 +01:00
orbea 1db0a280b0 Makefile.orbis: Fix makefile. 2019-01-05 08:34:59 -08:00
Twinaphex e827c3648f Merge pull request #7772 from orbea/opt
Makefile: Better respect CFLAGS and CXXFLAGS as environment variables.
2019-01-05 17:21:16 +01:00
Twinaphex e70806c51c Merge pull request #7817 from orbea/clear
menu: Reset initial menu position after selecting a core.
2019-01-05 17:17:16 +01:00
Twinaphex 33c777cbfc Merge pull request #7881 from orbea/sort
libretro-common: Sort config file conditionally.
2019-01-05 17:07:59 +01:00
Twinaphex deb5c9b03c Merge pull request #7889 from jdgleaver/rgui-colours-psp-gekko
(RGUI) Fix colours for PSP and GEKKO builds
2019-01-04 18:30:32 +01:00
jdgleaver 1398d889cb (RGUI) Fix colours for PSP and GEKKO builds 2019-01-04 13:41:15 +00:00
natinusala 6cd7c49c66 libnx: add fail-safe to swkbd 2019-01-04 14:37:28 +01:00
Zoran Vuckovic 6def3b36a8 Fix issue #7861 2019-01-04 14:00:19 +01:00
Raphaël Zumer 5cef12160a Ignore trainer data for NES hashing 2019-01-03 21:14:29 -05:00
Twinaphex 74c8c13102 Merge pull request #7882 from Sunderland93/master
[Wayland] Fix drag with "Alt" key on non xdg_wm_base shell's
2019-01-04 02:28:11 +01:00
Twinaphex a5635eff27 Merge pull request #7886 from fjtrujy/feature/colorRefactorRGUI
Improvements RGUI colors management
2019-01-04 02:27:57 +01:00
CozmoP 5012b27853 Merge branch 'master' into modelview 2019-01-04 01:33:30 +01:00
Brad Parker 88d61ddaf3 griffin: vc2005 buildfix 2019-01-03 18:57:00 -05:00
Francisco Javier Trujillo Mata 577456e3e7 Make a struct to save the colors used in the RGUI 2019-01-04 00:38:06 +01:00
Francisco Javier Trujillo Mata cca9bcc09d Make general functions to lead with RGUI colors 2019-01-04 00:38:06 +01:00
orbea 849259d8f6 libretro-common: Sort config file conditionally.
This allows optionally sorting configure files and is needed to fix the
order of inputs in the autoconfig profiles which should not be sorted
alphabetically.

Fixes https://github.com/libretro/RetroArch/issues/7873
2019-01-03 15:28:32 -08:00
Greg V e36bf32490 Wayland: track current output and its scale
Ideally, we would track all outputs we're on and choose the highest DPI among them,
but that is pretty difficult. Let's at least use the latest output we've entered
as the current one.
2019-01-04 01:58:44 +03:00
Greg V 60c8f51009 Wayland: keep track of all outputs (displays)
Required to support multiple monitors with varying scales (HiDPI/LoDPI)
2019-01-04 00:37:02 +03:00
Francisco José García García 433ae4d7fc [ORBIS] Fix for loading content 2019-01-03 21:46:29 +01:00
Greg V 056c7fffe1 Wayland: consistently store wl->width/height unscaled
No functional change
2019-01-03 23:43:36 +03:00
psxdev b695e6a867 [ORBIS] Add my name to the AUTHORS file 2019-01-03 21:23:44 +01:00
psxdev 11186dd5e0 [ORBIS] Workaround weird behaviour with task with bg.png in xmb 2019-01-03 21:23:44 +01:00
psxdev 263d82146c [ORBIS] Fix uncontrolled custoa.inim path for orbis ind dirs.c 2019-01-03 21:23:44 +01:00
psxdev 967bca8f9d [ORBIS] Add partial support for file_path 2019-01-03 21:23:44 +01:00
psxdev 1fd88b865e [ORBIS] Add retro_dirent support 2019-01-03 21:23:44 +01:00
psxdev d52de24e79 [ORBIS] Add support to config save for orbis 2019-01-03 21:23:44 +01:00
psxdev 66ba53c79b [ORBIS] Add vfs implementation for orbis 2019-01-03 21:23:44 +01:00
psxdev 63d61b05ca [ORBIS] Added nbio implementation for orbis 2019-01-03 21:23:44 +01:00
psxdev d0d49aa581 [ORBIS] added orbisFile initialization and standard for host directory structure 2019-01-03 21:23:44 +01:00
psxdev ae0c4bde1e [ORBIS] Limit path legth to avoid calloc issues 2019-01-03 21:23:44 +01:00
psxdev dea948e9ed [ORBIS] Enable ZLIB to avoid null pointer exception 2019-01-03 21:23:44 +01:00
Greg V b7a13a02cb Wayland: use lowercase 'retroarch' as app_id
It should match the name of the .desktop file.
2019-01-03 22:16:55 +03:00
Greg V c151ad1bb2 Wayland: remove bogus condition
Pointy hat: @sardemff7
2019-01-03 22:15:48 +03:00
Sunderland93 d374e8415f Fix drag with "Alt" key on non xdg_wm_base shell's 2019-01-03 22:54:01 +04:00
Francisco Javier Trujillo Mata b5cf8e90c9 Improve aspect_ratio detection in PS2 GFX (#7879) 2019-01-03 12:51:00 -05:00
natinusala a164f77c94 libnx: only use swkbd if in an application 2019-01-03 14:14:13 +01:00
Twinaphex ab2010c494 Update CHANGES.md 2019-01-03 14:12:10 +01:00
Twinaphex d5c524c53e Update CHANGES.md 2019-01-03 14:11:55 +01:00
twinaphex 6f093e8474 Turn C++ comment to C 2019-01-03 14:02:31 +01:00
twinaphex 3c36a27505 Add this 2019-01-03 13:56:41 +01:00
twinaphex 42d5c0037e Create separate platform_uwp.c 2019-01-03 13:55:43 +01:00
twinaphex e53ac5b38b (PS2) platform_ps2.c - style nits 2019-01-03 13:34:12 +01:00
twinaphex 24ef966ca3 (PS2 audio) Style nit changes 2019-01-03 13:26:45 +01:00
Twinaphex 56bf1c53ca Merge pull request #7877 from fjtrujy/feature/PS2AudioSupport
PS2 Audio Support
2019-01-03 13:21:55 +01:00
Francisco Javier Trujillo Mata 56207bd08e Improvement in:
* Makefile.ps2
* ps2_gfx
* ps2_platform
* ps2_audio
2019-01-03 13:16:28 +01:00
Francisco Javier Trujillo Mata e2ca8aa1b5 Apply NTCS mode 2019-01-03 13:16:28 +01:00
Francisco Javier Trujillo Mata 1591bc2db2 Create Audio Driver from PS2 2019-01-03 13:16:27 +01:00
twinaphex 8b0f7051ac (MSVC 2003) Buildfix 2019-01-03 11:45:24 +01:00
twinaphex f1fc622e99 (UWP) - Implement retro_sleep with SleepEx (untested) 2019-01-03 11:40:21 +01:00
Twinaphex 33ecd40d55 Merge pull request #7875 from orbea/animation
menu: Add sublabel for 'menu_horizontal_animation'.
2019-01-03 08:08:04 +01:00
orbea 5fcec0f561 menu: Add sublabel for 'menu_horizontal_animation'.
Fixes https://github.com/libretro/RetroArch/issues/5271.
2019-01-02 20:36:35 -08:00
natinusala 39282915f8 libnx: implement swkbd for menu drivers 2019-01-02 16:24:31 +01:00
Raphaël Zumer 0ebf5a2563 Fall back to GENERIC_MD5 for headerless SNES 2019-01-02 10:16:13 -05:00
meleu 2a9f6d9d40 SNES hashing, just ignore header if it has one 2019-01-02 09:48:55 -05:00
twinaphex 9c5c0aea58 Start replacing WinRT ifdefs so that Windows Phone 8 can be detected
too
2019-01-02 13:30:58 +01:00
Francisco José García García 4204bfc67f [ORBIS] Add Menu toggle combo and some cleaning 2019-01-02 12:13:17 +01:00
twinaphex ff1ca99748 (MSVC 2017 UWP) Buildfix
(MSVC 2017 UWP) Renaming
2019-01-02 07:27:47 +01:00
Raphaël Zumer dc45fbada6 Include VROM in cheevos NES hash 2019-01-01 21:02:28 -05:00
Twinaphex 8f2fa4527c Merge pull request #7849 from krzys-h/fix-7842
Fix the taskbar extension not initializing properly
2019-01-02 02:34:19 +01:00
Twinaphex aa75ae5f04 Update CHANGES.md 2019-01-02 02:26:17 +01:00
Twinaphex 6f7e670609 Merge pull request #7869 from orbea/sdl2
sdl: Flush the joypad events.
2019-01-02 02:24:04 +01:00
orbea 7ac080ea50 sdl: Flush the joypad events.
Bastien found a fix to the issue
"The lag after 10-15 minutes issue appears to be a bug in the sdl2 input
driver in RetroArch. RetroArch never clears the SDL event queue. After a
while it is so large it takes a significant time to traverse."

Fixes https://github.com/libretro/RetroArch/issues/7868

Solution thanks to Bastien.
2019-01-01 17:16:35 -08:00
twinaphex 541dc13d64 We cannot have VLAs 2019-01-02 01:15:30 +01:00
Twinaphex 731ef11e2f Merge pull request #7866 from fr500/master
cleanup
2019-01-01 23:29:37 +01:00
radius b8129a1381 cleanup 2019-01-01 14:34:10 -05:00
Twinaphex e7befaba37 Merge pull request #7864 from fr500/master
[info] use sublabels for controller information
2019-01-01 18:35:58 +01:00
radius 051e5bd262 [gui] add sublabel for start core 2019-01-01 12:35:29 -05:00
radius 88b4ec61e7 [info] use sublabels for controller information 2019-01-01 12:29:20 -05:00
Twinaphex e64f713942 Merge pull request #7860 from krzys-h/uwp
(UWP) Add optional packages support and fix ARM builds
2019-01-01 18:17:37 +01:00
Twinaphex 589d715fbc Merge pull request #7862 from fr500/master
A couple fixes
2019-01-01 18:15:14 +01:00
Twinaphex f635bfa35d Merge pull request #7863 from krzys-h/fix-paths
Fix path problems after b201d669b5, again
2019-01-01 18:14:51 +01:00
krzys-h 54ac14e205 Fix path problems after b201d669b5, again
My previous patch sometimes generated double slashes. All of these
problems are because the original version of this function assumed that
the app path always ends with a slash and the home path never does,
which is not true on UWP (they both have a slash)
2019-01-01 17:53:02 +01:00
krzys-h 9c75b9cb7f Add missing CoUninitialize calls, fix COM initialization problems
It turns out, some of the CoInitialize calls were failing because they
specified conflicting threading models
2019-01-01 17:30:43 +01:00
radius 0a6df1743c [netplay] print upnp failed messages
[cheevos] fix warning
2019-01-01 11:22:58 -05:00
krzys-h 2c4d2418d6 (UWP) Fix ARM builds 2019-01-01 16:21:47 +01:00
krzys-h 48d82929ff (UWP) Add support for loading cores from optional packages 2019-01-01 16:21:47 +01:00
twinaphex 556bcc18e4 Find different ifdef for Windows Phone 2019-01-01 03:57:37 +01:00
twinaphex ac32bff71a (MSVC 2017) Add Glslang 2019-01-01 03:47:55 +01:00
Twinaphex b31e0324a0 Merge pull request #7858 from myfreeweb/freebsd
FreeBSD build fixes for Wayland and udev
2019-01-01 02:38:35 +01:00
Greg V a838582b11 udev: support on FreeBSD via libepoll-shim/libudev-devd 2019-01-01 03:16:33 +03:00
Greg V a1c15b5362 Wayland: try /usr/local for wayland-scanner/protocols
Default prefix is /usr/local on FreeBSD
2019-01-01 03:07:20 +03:00
Greg V f1e516bfaf keymaps: define 'x11' and 'linux' on any platform with Wayland
Such as FreeBSD
2019-01-01 03:03:29 +03:00
Twinaphex 1520f022c5 Merge pull request #7857 from myfreeweb/wayland-hidpi-resize
Wayland: unbreak Vulkan after fixing HiDPI resizing
2019-01-01 00:55:00 +01:00
Greg V a9a53fdb64 Wayland: create fullscreen Vulkan surface multiplied by the scale 2019-01-01 02:43:59 +03:00
Greg V 6d943e10a6 Wayland: unbreak Vulkan after fixing HiDPI resizing 2019-01-01 02:38:14 +03:00
Twinaphex eaef091915 Merge pull request #7855 from myfreeweb/wayland-hidpi-resize
Wayland: Fix window resizing on HiDPI monitors
2019-01-01 00:35:16 +01:00
Twinaphex 2b38e126f4 Merge pull request #7856 from m4xw/1080p
[LIBNX] Native 1080p support
2019-01-01 00:30:43 +01:00
M4xw a2eaa6a19d [LIBNX] Native 1080p support 2019-01-01 00:26:18 +01:00
Greg V c901866864 Wayland: Fix window resizing on HiDPI monitors 2019-01-01 02:23:39 +03:00
twinaphex bb5cd1dfeb Change C++ comments to c 2018-12-31 21:08:25 +01:00
Twinaphex 8ca9797a16 Merge pull request #7850 from orbea/log
cli: Only print verbose output when '--verbose' is used.
2018-12-31 20:40:19 +01:00
Twinaphex c095f8bdd2 Merge pull request #7848 from orbea/mpv
qb: Fix mpv check.
2018-12-31 20:39:20 +01:00
Twinaphex 91e05eab21 Merge pull request #7852 from fjtrujy/master
Buildbot: PS2 Generation
2018-12-31 20:38:38 +01:00
Twinaphex b9c6cdf50f Merge pull request #7853 from Wiimpathy/Wii_fixes
WII: Fix .cfg not found with loaders + compiling with external libogc
2018-12-31 20:38:11 +01:00
benoa d58c71cc3e Fix compiling with external libogc 2018-12-31 19:01:14 +01:00
Francisco Javier Trujillo Mata d44ad6abd4 PS2 TODOs 2018-12-31 18:56:22 +01:00
Francisco Javier Trujillo Mata f7f602c1f7 Dist-cores support PS2 platform 2018-12-31 18:56:21 +01:00
benoa b5eedbaed7 Fix .cfg not found with external loaders. 2018-12-31 18:50:58 +01:00
Francisco José García García 63044b204e [ORBIS] Remove main 2018-12-31 17:45:32 +01:00
orbea c9c604a37a cli: Only print verbose output when '--verbose' is used.
Fixes https://github.com/libretro/RetroArch/issues/7844
2018-12-31 08:35:18 -08:00
Francisco José García García 43b8763fd4 [ORBIS] Enable frontend driver 2018-12-31 14:16:42 +01:00
Francisco José García García 5d8585df84 [ORBIS] Fix audio init 2018-12-31 12:32:21 +01:00
krzys-h 13517bc226 Fix the taskbar extension not initializing properly
The COM interface is initialized a thousand times everywhere, but
apparently not before the taskbar extension is loaded ;)

Somehow this managed to work sometimes and even return a valid object,
but that object was destroyed soon afterwards causing crashes
2018-12-31 11:17:39 +01:00
orbea a7f5fc9431 qb: Fix mpv check.
This fixes the mpv configure check and disables it by default
to avoid exposing other bugs. It can be enabled again when those
isssues are fixed.
2018-12-30 20:04:42 -08:00
twinaphex 99e5791ae4 Style nits 2018-12-31 04:40:10 +01:00
twinaphex 44ebcbd044 Some buildfixes for MSVC 2012 2018-12-31 04:34:55 +01:00
orbea fb6fe1a87c Makefile: Better respect CFLAGS and CXXFLAGS as environment variables.
This fixes a few subtle problems with passing CFLAGS and CXXFLAGS as
environment variables for configure.

First it will now only add these variables to config.mk when they are
actually set. If they are unset then the default optimizations in the
Makefile are set. This avoids passing more than one conflicting
optimization level to the compiler.

Next all CFLAGS are added to CXXFLAGS to avoid issues with forgetting to
set both CFLAGS and CXXFLAGS. This results in the cxx compiler getting
passed several redundant optimization levels when both the CFLAGS and
CXXFLAGS environment variabls are used. Now these uses of CFLAGS in
Makefile.common are set to DEF_FLAGS. This allows adding $(DEF_FLAGS)
to the CXXFLAGS variable without adding redundant flags from CFLAGS.

v2: Update other build files.
2018-12-30 17:17:19 -08:00
twinaphex c6ba5d9ebc (UWP) Start adding some Windows Phone 8.1 ifdefs 2018-12-31 01:38:45 +01:00
Francisco José García García a1e455d197 [ORBIS] Initial audio driver 2018-12-31 00:37:08 +01:00
Francisco José García García ea2ed2fb07 [ORBIS] More input driver changes 2018-12-31 00:14:56 +01:00
Francisco José García García 1b35b75d45 [ORBIS] Fix height / width typo 2018-12-31 00:07:39 +01:00
twinaphex 6b35e8d4f6 (UWP) Implement cpu_features_get_core_amount 2018-12-30 22:13:55 +01:00
Twinaphex 87c13a4f5f Merge pull request #7845 from alfrix/master
Update Spanish
2018-12-30 22:03:56 +01:00
Twinaphex 4a81b66c99 Merge pull request #7846 from fr500/master
update CHANGES.MD with my changes since last release
2018-12-30 22:03:42 +01:00
radius d7a7d8cb59 update CHANGES.MD with my changes since last release 2018-12-30 16:01:09 -05:00
Alfredo Monclus 428011693e Fix msg_hash_us styling 2018-12-30 16:12:34 -03:00
Alfredo Monclus bcdcdbf2c3 Update Spanish 2018-12-30 16:12:34 -03:00
twinaphex aecd532dac UWP needs this to return true for some reason 2018-12-30 20:03:14 +01:00
twinaphex 74f391de9b This fixes all-non Xinput/Xbox pads - they were all non-working
before
2018-12-30 19:55:37 +01:00
Twinaphex 4ae4b6d4d0 Merge pull request #7843 from fr500/drmingw
add drmingw's exchndl support
2018-12-30 19:28:11 +01:00
radius 0b13cba4ea add drmingw's exchndl support 2018-12-30 12:12:55 -05:00
Francisco José García García c56e9b1ff6 [ORBIS] eglSwapInterval workaround 2018-12-30 14:01:10 +01:00
Francisco José García García 4ad083cb97 [ORBIS] Update input driver 2018-12-30 14:00:18 +01:00
twinaphex fc8abd7baf Add header include for printf 2018-12-30 07:53:09 +01:00
twinaphex de6e6a2ef3 Update xaudio29.h 2018-12-30 07:22:08 +01:00
twinaphex 1c010e3622 Change C++ comments to C 2018-12-30 06:38:23 +01:00
twinaphex 815c525bb6 Buildfix for MSVC 2012 2018-12-30 05:21:30 +01:00
twinaphex 1cb9f7c1bf Fix D3D10/11/12 drivers for Win32 build 2018-12-30 05:08:57 +01:00
twinaphex 88e283f0c1 (D3D10/11/12) Some buildfixes 2018-12-30 04:51:03 +01:00
Francisco José García García 9c5a934529 [ORBIS] Untested input driver 2018-12-30 01:29:34 +01:00
Twinaphex 22e54dfc6b Merge pull request #7839 from frangarcj/orbis2
[WIP] ORBIS / PS4 Port
2018-12-30 01:04:50 +01:00
Francisco José García García d34b94a661 [ORBIS] Several EGL and GL fixes 2018-12-30 00:11:53 +01:00
Francisco José García García 167537ac10 [ORBIS] Fix Makefile and enable XMB 2018-12-30 00:10:37 +01:00
Francisco José García García 3aa8d22238 [ORBIS] Fix main 2018-12-30 00:09:44 +01:00
Twinaphex 50fcf4c190 Merge pull request #7837 from krzys-h/uwp
Bugfixes to #7235 - creating swap chain twice in d3d11 and HOME path problems
2018-12-29 16:06:42 +01:00
krzys-h ad782e6eb4 Fix HOME path issues after b201d6 (libretro#7836) 2018-12-29 15:21:18 +01:00
krzys-h 1cb1ea55b1 Bugfix - creating swap chain twice in d3d11
Not sure what I was thinking when writing this

https://github.com/libretro/RetroArch/commit/dd60b5d5764dae20974e1df3dea50e1ccf738205#commitcomment-31801518
2018-12-29 11:38:09 +01:00
twinaphex bddcd2d5e5 Buildfix - include header for prototype definition 2018-12-29 06:04:46 +01:00
twinaphex 118d155360 Buildfix 2018-12-29 04:39:13 +01:00
twinaphex 65cc022c31 Update uwp_main.cpp 2018-12-29 03:20:50 +01:00
twinaphex 34cb50f8da Update MSVC 2017 UWP 2018-12-29 03:06:31 +01:00
twinaphex dd60b5d576 MSVC2017 Non-UWP buildfixes 2018-12-29 02:54:17 +01:00
twinaphex 8f67cf7384 Some buildfixes 2018-12-29 02:20:25 +01:00
twinaphex 0e5fbbb9e1 Silence some warnings 2018-12-29 02:12:50 +01:00
Twinaphex f82b6e07ba Merge pull request #7834 from krzys-h/uwp
UWP and Xbox One port
2018-12-29 01:15:27 +01:00
radius 9aa7b2bd62 [discord] add user avatar to ozone 2018-12-28 17:16:17 -05:00
radius 3cedc83bfa [discord] cleanup, add helper functions 2018-12-28 17:16:16 -05:00
radius c2e3b5bfbf [discord] do not toggle menu 2018-12-28 17:16:16 -05:00
radius 69d020e16d [discord] disable confirmation dialog because in-game widgets will never happen
see:
https://github.com/libretro/RetroArch/issues/4572
2018-12-28 17:16:15 -05:00
radius f909f98e1a [discord] download our own avatar to use in-menu 2018-12-28 17:16:15 -05:00
radius 87c99a491b [discord] make the avatar download code a function instead of this mess 2018-12-28 17:16:15 -05:00
radius a6e6ccc244 [discord] **not-working** download the connecting user avatar seems something special needs to be done for https transfers on windows at least
see: https://github.com/libretro/RetroArch/issues/7451
2018-12-28 17:16:14 -05:00
radius 583273d81b [discord] show connection confirmation dialog 2018-12-28 17:16:14 -05:00
radius 325d85ed4b [discord] nasty hack to register the application with the current runtime args
basically saves the whole argv string to reuse it on game launch

Not working due to:
https://github.com/discordapp/discord-rpc/issues/240
https://github.com/discordapp/discord-rpc/issues/163
2018-12-28 17:16:14 -05:00
radius d4b8e1c4fd [discord] add more logging, fix partyId, for some reason this strdup is required for linux hosts 2018-12-28 17:16:13 -05:00
radius 9c4b307dcb Update Discord RPC
Squashed 'deps/discord-rpc/' changes from ba9fe00c4d..7716eadca3

7716eadca3 Update D binding link (#234)
e32d001809 readme nits
2cb9813eb6 Unity specific DLL setup
af380116a0 Check C# strings against UTF8 bytes instead of clamping (#221)
3d3ae7129d Fix mismatched signs in comparison after b44defe (#209)
b44defe60a [Linux] Null-terminate output from readlink in Discord_Register. (#208)
dfad394be0 Added enum for response codes (#207)
a3ad6afee2 Added Discord RPC C# implementation to list. (#205)
7c41a8ec19 Fixed issue with Discord RPC not updating presence during shutdown (#189)
5df1c5ae6d copy the whole folder UE4
c05c7148dd Updated README with UE plugin instructions (#183)

git-subtree-dir: deps/discord-rpc
git-subtree-split: 7716eadca31a0d556f9d71fb610943b203470533
2018-12-28 17:16:13 -05:00
krzys-h 4fb06703b3 Port d3d12 driver for UWP 2018-12-28 22:10:26 +01:00
krzys-h f6c8a0c5c2 Add UWP input driver
Keyboard, mouse and touch support: done
2018-12-28 22:09:30 +01:00
krzys-h cc686ba9bc Upgrade XAudio2 headers
XAudio 2.7 was part of the old DirectX SDKs. XAudio 2.8+ is part of the
Windows OS itself (starting from Windows 8). Since UWP lets you access
only libraries that are built-in to the OS, the headers had to be
upgraded to the newer version to get audio support working.
2018-12-28 22:09:30 +01:00
krzys-h 6038060cd7 Update appx manifest and icons
These were generated using Visual Studio icon generation tools
2018-12-28 22:09:29 +01:00
krzys-h b201d669b5 First iteration of UWP support
Enough to kind of run

Working drivers: xinput, d3d11
Still missing: input driver with keyboard support, audio driver
2018-12-28 22:09:22 +01:00
Twinaphex 671b49afcd Merge pull request #7833 from orbea/ffmpeg
qb: Only print threading warning when ffmpeg is not disabled.
2018-12-28 21:09:15 +01:00
Twinaphex 055f880775 Merge pull request #7832 from orbea/lua2
qb: Disable the builtin lua by default.
2018-12-28 21:09:05 +01:00
waitingmoon 9872111dbc Update msg_hash_ja.h (#7831) 2018-12-28 15:06:52 -05:00
orbea 1e513598d3 qb: Only print threading warning when ffmpeg is not disabled. 2018-12-28 11:51:27 -08:00
orbea 465b3e5774 qb: Disable the builtin lua by default.
Disables the builtin lua as it causes the mpv core to segfault and
doesn't do anything yet.
2018-12-28 10:32:02 -08:00
Francisco José García García 912060fc4b [ORBIS] Use SceWindow 2018-12-28 11:19:28 +01:00
Francisco José García García 48167d46bc [ORBIS] Initial video context driver 2018-12-28 01:27:13 +01:00
Twinaphex d8468c5d8c Merge pull request #7829 from orbea/screenshot
Fix png file names for screenshots with contentless cores.
2018-12-28 00:35:18 +01:00
orbea 06d0a19e95 Fix png file names for screenshots with contentless cores.
For contentless cores like 2048 and the retropad RetroArch will save png
files with the content field missing.

  -181227-133151.png

Now RetroArch will save png files with the correct names for contentless
cores.

  2048-181227-133151.png
  RetroPad Remote-181227-133202.png

Cores with content will have no change in behavior.

  Akumajou Dracula (J)-181227-133232.png

And with cores that support content and no content such as 4DO both
variations will work.

  4DO-181227-144102.png
  LuciennesQuest-181227-144118.png

Fixes https://github.com/libretro/RetroArch/issues/7828
2018-12-27 14:50:09 -08:00
Francisco José García García 19549ddccf [ORBIS] Fix __assert 2018-12-27 20:18:53 +01:00
Francisco José García García f02ef2e0c6 [ORBIS] Initial Platform driver + minor changes 2018-12-27 20:17:48 +01:00
Francisco José García García 39343f99a7 [ORBIS] Add Makefile 2018-12-27 20:16:43 +01:00
Twinaphex 3548956509 Merge pull request #7827 from orbea/kiosk
menu: Hide options for the kiosk menu.
2018-12-26 19:10:41 +01:00
Twinaphex 8cee39bbd3 Merge pull request #7826 from orbea/archive
menu: Hide 'Parent Directory' in compressed archives.
2018-12-26 19:10:18 +01:00
orbea b84b1b083a menu: Hide options for the kiosk menu.
This hides 'reset core association', 'start recording' and
'start streaming' when the kiosk menu is active.

Fixes https://github.com/libretro/RetroArch/issues/7824
Fixes https://github.com/libretro/RetroArch/issues/7825
2018-12-26 09:40:42 -08:00
orbea ff63852a7c menu: Hide 'Parent Directory' in compressed archives.
When browsing compressed archives 'Parent Directory' will not work and
will endlessly recurse into non-existent empty directories where the
user will have to press the back button to get out of every instance.

This will now hide 'Parent Directory' in compressed archives to avoid
this issue. The user will still be able to press the back button to
exit.

Fixes https://github.com/libretro/RetroArch/issues/2604
2018-12-26 09:19:03 -08:00
Twinaphex 16c56eb9f3 Merge pull request #7823 from fjtrujy/feature/ps2Support
PS2 Support QuickNes
2018-12-26 18:00:23 +01:00
Francisco Javier Trujillo Mata 9ec293bb5b Including fjtrujy in the list of Authors ;) 2018-12-26 14:26:46 +01:00
Francisco Javier Trujillo Mata 0224bf22b2 Add release option in the Makefile.ps2 2018-12-26 14:17:25 +01:00
Francisco Javier Trujillo Mata 38397370e6 Apply proper color correction for 16 bits 2018-12-26 14:17:25 +01:00
Francisco Javier Trujillo Mata 69ad3273b9 Disable use of setvbuf for the PS2 2018-12-26 14:17:25 +01:00
Francisco Javier Trujillo Mata 5b7a71abd3 Make logs work for the PS2 2018-12-26 14:17:25 +01:00
Francisco Javier Trujillo Mata 282e688ee6 Cleaning not needed libraries for the PS2 2018-12-26 14:17:25 +01:00
Francisco Javier Trujillo Mata 40b028ebce Replace malloc for calloc in the ps2_gfx 2018-12-26 13:48:48 +01:00
Francisco Javier Trujillo Mata 90ba2df972 Put proper license in the files for the PS2 development 2018-12-26 13:48:48 +01:00
Twinaphex 1b94483078 Merge pull request #7819 from orbea/patch
cli: Fix the --no-patch argument.
2018-12-26 04:46:32 +01:00
Twinaphex 8845b674fd Merge pull request #7821 from fr500/master
try to fix #7811
2018-12-26 04:46:05 +01:00
Twinaphex 5e1ec17742 Merge pull request #7804 from fr500/fixes
reset on hardcore enable
2018-12-26 04:45:43 +01:00
radius 6e25978be5 try to fix #7811 2018-12-25 20:23:56 -05:00
radius bcfa332be9 stop litering emmmc for temporary files 2018-12-25 20:18:19 -05:00
meepingsnesroms a6f097c873 Buttons are only 16 bits so only use uint16_t to prevent wasting 6 bytes 2018-12-25 14:33:43 -08:00
orbea 80ed61f257 cli: Fix the --no-patch argument.
Fixes https://github.com/libretro/RetroArch/issues/5885

First bad commit:
  https://github.com/libretro/RetroArch/commit/d28c138d09922f5458c8ee86a049aa3a961d0262
2018-12-25 13:12:59 -08:00
Jean-André Santoni fcf75fda17 Merge pull request #7675 from natinusala/lakka-restart
Lakka: rename Quit RetroArch to Restart RetroArch (english & french)
2018-12-26 00:10:01 +07:00
orbea 7e2aafa382 menu: Reset initial menu position after selecting a core.
Fixes https://github.com/libretro/RetroArch/issues/2506 (Again)

v2: Only reset the menu posiition after selecting a core and not when
    just toggling the menu.
2018-12-24 22:45:19 -08:00
Twinaphex c9a0b8c42d Merge pull request #7815 from orbea/glui
materialui: Move 'Start Core' before 'Load Core'.
2018-12-25 03:14:08 +01:00
orbea 476abf7dad materialui: Move 'Start Core' before 'Load Core'.
This matches other menu drivers better where its already like this in
rgui, xmb and ozone.
2018-12-24 15:32:24 -08:00
Twinaphex 3ad6ca75cc Merge pull request #7814 from fr500/master
allow playing video from http/https sources
2018-12-24 12:39:30 +01:00
radius abc31fa092 allow playing video from http/https sources 2018-12-24 00:49:19 -05:00
twinaphex 374384128c Revert "(D3D8/D3D9) Buildfixes"
This reverts commit 992d221af9.
2018-12-24 03:34:58 +01:00
Twinaphex 4bd5e23601 Merge pull request #7812 from libretro/revert-7807-fix-2791-black-bug
Revert "Fix issue #2791 black bug"
2018-12-24 03:33:28 +01:00
Twinaphex 1aee59f9f4 Revert "Fix issue #2791 black bug" 2018-12-24 03:33:18 +01:00
twinaphex 992d221af9 (D3D8/D3D9) Buildfixes 2018-12-24 03:31:01 +01:00
Twinaphex 740cf4034e Merge pull request #7810 from fr500/master
fix #935 thanks to @bparker
2018-12-24 01:58:53 +01:00
radius d2a2878b2c fix #935 thanks to @bparker 2018-12-23 19:55:26 -05:00
Twinaphex 8c4587d83a Merge pull request #7808 from orbea/assets
Makefile: Install assets only for enabled menus.
2018-12-24 00:37:03 +01:00
Twinaphex 5d0e430c23 Merge pull request #7807 from daliaetnano/fix-2791-black-bug
Fix issue #2791 black bug
2018-12-24 00:36:50 +01:00
Twinaphex 30fc94ae19 Merge pull request #7809 from orbea/ozone
ozone: Fix crash with menu_use_preferred_system_color_theme.
2018-12-24 00:35:23 +01:00
radius 90d816f31a reset on toggle everytime 2018-12-23 16:24:18 -05:00
orbea d51b801221 ozone: Fix crash with menu_use_preferred_system_color_theme.
Fixes https://github.com/libretro/RetroArch/issues/7805
2018-12-23 11:41:43 -08:00
orbea c079a2f953 Makefile: Install assets only for enabled menus.
Currently RetroArch will install assets for xmb, materialui and ozone
unconditionally.

This change will now only install assets when RetroArch is compiled
with support for the relevant menu driver. This also exposes assets
from the nuklear and zarch menu drivers which are still disabled by
default.
2018-12-23 09:55:05 -08:00
Nano 770bd52411 Fix issue #2791 black bug 2018-12-23 18:31:21 +01:00
Twinaphex 80371728e1 Merge pull request #7806 from langerhans/phoenix-gradle
Android: Implement Gradle build for easy debugging
2018-12-23 18:31:07 +01:00
langerhansandnatinusala 3c5a391c9e Android: Implement Gradle build for easy debugging
Adds a CoreSideLoadingActivity to sideload cores for debugging purposes.
Adds instructions on how to debug both the RetroArch frontend and cores from within Android Studio

Co-authored-by: natinusala <[email protected]>
2018-12-23 18:02:38 +01:00
radius 6eae0df010 reset on hardcore enable 2018-12-23 11:16:55 -05:00
Twinaphex 0d7cb7edc2 Merge pull request #7801 from markwkidd/patch-6
Update theme selection sublabel in msg_hash_us.h
2018-12-23 16:53:51 +01:00
markwkidd 2675fa26c0 Update theme selection sublabel in msg_hash_us.h
This PR updates the sub-label for the Menu Icon Theme in order to:
  1. remove the outdated instruction to restart RA
  2. reflect that the theme setting controls more than just icons
2018-12-23 10:16:18 -05:00
Twinaphex c46e3468e2 Merge pull request #7796 from orbea/xmb
xmb: Don't show a black background without assets.
2018-12-23 13:39:33 +01:00
Twinaphex 0f06734d0a Merge pull request #7799 from fr500/master
fix #7002
2018-12-23 11:35:57 +01:00
CozmoP ab9c235cfa Qt: Initialize m_thumbnailType. 2018-12-23 02:59:42 +01:00
radius 0b8e39dd6b fix #7002 2018-12-22 20:36:42 -05:00
CozmoP e484f30af6 revert commit e981afcca8 2018-12-23 01:10:04 +01:00
CozmoP 6382bc48c3 Merge branch 'master' into modelview 2018-12-23 00:55:12 +01:00
orbea 45c85aa6fe xmb: Don't show a black background without assets.
This also now only hides the time icon instead of the entire time
without assets.

Fixes https://github.com/libretro/RetroArch/issues/7795
2018-12-22 15:51:43 -08:00
CozmoP e0c01d658d Revert "Qt: Implement custom playlist model and grid view."
This reverts commit 240856f19c.
2018-12-23 00:46:44 +01:00
CozmoP ca9952ceef Qt: make grid view customizable by stylesheet 2018-12-23 00:45:00 +01:00
Twinaphex e3235eeef4 Merge pull request #7785 from orbea/ozone
Makefile: Install ozone assets.
2018-12-22 19:45:46 +01:00
Twinaphex 456b891994 Merge pull request #7788 from orbea/quotes
qb: Minor cleanup.
2018-12-22 19:45:37 +01:00
Twinaphex f353feba8a Merge pull request #7789 from jdgleaver/buff-size-fix
Fix gcc -Wformat-truncation= warning (redux)
2018-12-22 19:45:24 +01:00
Twinaphex 326395ff17 Merge pull request #7794 from orbea/load
menu: Reset position after pushing quick menu.
2018-12-22 19:45:08 +01:00
Twinaphex 1df95bb28b Merge pull request #7793 from fr500/fixes
move core sideloading to load core menu
2018-12-22 19:44:45 +01:00
orbea 4da7092aff menu: Reset position after pushing quick menu.
Fixes:
  https://github.com/libretro/RetroArch/issues/5595
  https://github.com/libretro/RetroArch/issues/2506
2018-12-21 18:43:14 -08:00
radius c70e322496 cleanup 2018-12-21 18:19:48 -05:00
radius 09deb96397 move core sideloading to load core menu 2018-12-21 18:17:17 -05:00
orbea 0c01e35c2b Makefile: Install ozone assets.
v2: Remove extra mkdir commands.
2018-12-21 09:02:56 -08:00
orbea 7e4723e37a qb: Minor cleanup.
This uses safer quoting and removes an unneeded use of printf.

Fixes the following shellcheck warning.

In qb/qb.libs.sh line 143:
	if [ $3 ]; then
             ^-- SC2086: Double quote to prevent globbing and word splitting.

v2: Remove redundant conditional.
2018-12-21 08:32:01 -08:00
jdgleaver c2d4b70f8c menu_displaylist_parse_options_remappings(): increase buffer sizes, remove string precision qualifier (alternative to PR #7782) 2018-12-21 16:12:20 +00:00
Twinaphex b55ed9e3ce Merge pull request #7783 from theheroGAC/patch-40
Update msg_hash_it.h
2018-12-21 15:25:34 +01:00
Twinaphex c3f2c49e84 Merge pull request #7784 from orbea/dir
menu: Use the default dir for recording output when unset.
2018-12-21 15:25:28 +01:00
Twinaphex 7ec32337b5 Merge pull request #7786 from orbea/version
Remove some hardcoded version strings.
2018-12-21 15:25:18 +01:00
Twinaphex e239a46800 Merge pull request #7787 from ensra/netbsd-audio
Add an AudioIO dirver for NetBSD and Solaris.
2018-12-21 15:24:55 +01:00
nia 1721bd07c4 Use the correct message when printing macro tests. 2018-12-21 14:23:13 +00:00
nia 3ef9bbb592 Add an AudioIO dirver for NetBSD and Solaris. 2018-12-21 14:15:30 +00:00
orbea 6c4f0be0a5 Remove some hardcoded version strings. 2018-12-20 22:13:19 -08:00
orbea 2ab78dc67b menu: Use the default dir for recording output when unset. 2018-12-20 16:13:10 -08:00
theheroGAC 970e3515b1 Update msg_hash_it.h 2018-12-20 23:08:04 +01:00
Twinaphex 1d3874a142 Merge pull request #7779 from jdgleaver/rgui-colours
(RGUI) Enable customisation of background and border colours
2018-12-20 20:51:12 +01:00
Twinaphex 3bd1c3fa6a Merge pull request #7782 from orbea/format
Fix gcc -Wformat-truncation= warning.
2018-12-20 20:49:37 +01:00
Twinaphex e9e917ab29 Merge pull request #7781 from orbea/c89
Makefile.common: Remove redundant conditionals.
2018-12-20 20:48:58 +01:00
Twinaphex 1532b75d26 Merge pull request #7780 from orbea/dir
menu: Fix directory settings.
2018-12-20 20:48:19 +01:00
orbea e6eedd05f5 Fix gcc -Wformat-truncation= warning.
menu/menu_displaylist.c: In function ‘menu_displaylist_ctl’:
menu/menu_displaylist.c:3441:28: warning: ‘ [’ directive output may be truncated writing 2 bytes into a region of size between 1 and 255 [-Wformat-truncation=]
                         "%s [%s %u]", descriptor, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_USER), p + 1);
                            ^~
menu/menu_displaylist.c:3441:25: note: using the range [0, 4294967295] for directive argument
                         "%s [%s %u]", descriptor, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_USER), p + 1);
                         ^~~~~~~~~~~~
menu/menu_displaylist.c:3440:16: note: ‘snprintf’ output 6 or more bytes (assuming 260) into a destination of size 255
                snprintf(desc_label, sizeof(desc_label),
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                         "%s [%s %u]", descriptor, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_USER), p + 1);
                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2018-12-20 11:45:48 -08:00
orbea 5175c67381 menu: Fix directory settings.
The "Recording Output" and "Screenshot" directory settings accidentally
overwrote each other.

Fixes https://github.com/libretro/RetroArch/issues/7776
2018-12-20 11:13:28 -08:00
orbea 066bbd1a29 Makefile.common: Remove redundant conditionals.
C89 builds are only used for the qb build system currently and these are
already checked in qb/config.params.sh.

Additionally the HAVE_NETWORKING check is handled with qb/config.lib.sh
where HAVE_SSL and HAVE_BUILTINMBEDTLS are disabled if networking is
also disabled. The other build systems should never define HAVE_SSL or
HAVE_BUILTINMBEDTLS without HAVE_NETWORKING. Also there are no other
build systems that rely on Makefile.common using this yet.
2018-12-20 10:49:23 -08:00
jdgleaver f603d4ec30 (RGUI) Enable customisation of background and border colours 2018-12-20 16:13:16 +00:00
Brad Parker d41bb64d17 remove unused code 2018-12-20 09:00:48 -05:00
Twinaphex a0a22a044a Merge pull request #7773 from orbea/comment
Makefile.ctr: Add missing comment.
2018-12-20 13:58:36 +01:00
Twinaphex 4f270449f9 Merge pull request #7774 from bparker06/hold_start
add option to toggle menu by holding down start button
2018-12-20 13:58:18 +01:00
CozmoP 7bb23d15bd Fix last commit and a couple style changes. 2018-12-19 21:28:11 +01:00
Brad Parker 458bb9fbb5 add option to toggle menu by holding down start button 2018-12-19 14:53:17 -05:00
orbea 2c09a6f37b Makefile.ctr: Add missing comment. 2018-12-19 11:27:10 -08:00
Brad Parker fd93e5e26e Update CHANGES.md 2018-12-19 12:04:11 -05:00
Twinaphex 26568a6bc2 Merge pull request #7770 from jdgleaver/rgui-user-index
(RGUI) Add user index label to control menu entries
2018-12-19 17:47:53 +01:00
Twinaphex a7bb1e60aa Merge pull request #7771 from libretro/sgc-menu-animation
Animations deleted whilst in update loop may cause crash
2018-12-19 17:45:58 +01:00
jdgleaver f68d756af3 (RGUI) Add user index label to control menu entries 2018-12-19 12:19:29 +00:00
CozmoP a396008bf6 Qt: More C89 changes. 2018-12-19 08:57:00 +01:00
Twinaphex 7835d0c54c Merge pull request #7745 from orbea/mbedtls
Support building with the system mbedtls.
2018-12-19 01:53:14 +01:00
Twinaphex 0b0a21b742 Merge pull request #7768 from jdgleaver/3ds-named-inputs
(3DS) Add joypad input labels
2018-12-19 01:21:05 +01:00
Stuart Carnie 11a7d34358 fix: animations deleted during update mutate tween list, causing crash
defer deletes resulting from callbacks until after update loop
2018-12-18 17:12:19 -07:00
CozmoP 95ed844d81 Qt: C89 changes and other cleanups. 2018-12-19 01:11:52 +01:00
jdgleaver 37acbd1ecf (3DS) Add joypad input labels 2018-12-18 16:30:05 +00:00
Twinaphex 22fcd0be67 Merge pull request #7762 from orbea/rgui
Fix gcc -Wformat-truncation= warnings.
2018-12-18 10:12:50 +01:00
Brad Parker d6741651b7 net_socket_ssl: keep reading data from server until finished, fixes #7451 2018-12-18 03:01:52 -05:00
Twinaphex c565bb1b0b Merge pull request #7763 from bparker06/sideload_vfs
use filestream/VFS for core sideload
2018-12-17 21:40:32 +01:00
Brad Parker 4b323a45df paths can be const 2018-12-17 09:38:12 -05:00
Brad Parker 971591fb9c use filestream/VFS for core sideload 2018-12-17 09:25:52 -05:00
orbea 13e29308d5 Fix gcc -Wformat-truncation= warnings.
menu/drivers/rgui.c: In function ‘rgui_render’:
menu/drivers/rgui.c:670:53: warning: ‘%-*s’ directive output may be truncated writing up to 2147483648 bytes into a region of size between 0 and 252 [-Wformat-truncation=]
       snprintf(message, sizeof(message), "%c %-*.*s %-*s",
                                                     ^~~~
menu/drivers/rgui.c:676:13:
             type_str_buf);
             ~~~~~~~~~~~~
menu/drivers/rgui.c:670:42: note: assuming directive output of 254 bytes
       snprintf(message, sizeof(message), "%c %-*.*s %-*s",
                                          ^~~~~~~~~~~~~~~~
menu/drivers/rgui.c:670:7: note: ‘snprintf’ output between 4 and 4294967300 bytes into a destination of size 255
       snprintf(message, sizeof(message), "%c %-*.*s %-*s",
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             entry_selected ? '>' : ' ',
             ~~~~~~~~~~~~~~~~~~~~~~~~~~~
             (int)(RGUI_TERM_WIDTH(fb_width) - (entry_spacing + 1 + 2) - entry_title_buf_utf8len + entry_title_buf_len),
             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             (int)(RGUI_TERM_WIDTH(fb_width) - (entry_spacing + 1 + 2) - entry_title_buf_utf8len + entry_title_buf_len),
             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             entry_title_buf,
             ~~~~~~~~~~~~~~~~
             entry_spacing,
             ~~~~~~~~~~~~~~
             type_str_buf);
             ~~~~~~~~~~~~~
menu/drivers/rgui.c:670:53: warning: ‘%-*s’ directive output may be truncated writing up to 2147483648 bytes into a region of size between 0 and 252 [-Wformat-truncation=]
       snprintf(message, sizeof(message), "%c %-*.*s %-*s",
                                                     ^~~~
menu/drivers/rgui.c:676:13:
             type_str_buf);
             ~~~~~~~~~~~~
menu/drivers/rgui.c:670:42: note: assuming directive output of 254 bytes
       snprintf(message, sizeof(message), "%c %-*.*s %-*s",
                                          ^~~~~~~~~~~~~~~~
menu/drivers/rgui.c:670:7: note: ‘snprintf’ output between 4 and 4294967300 bytes into a destination of size 255
       snprintf(message, sizeof(message), "%c %-*.*s %-*s",
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             entry_selected ? '>' : ' ',
             ~~~~~~~~~~~~~~~~~~~~~~~~~~~
             (int)(RGUI_TERM_WIDTH(fb_width) - (entry_spacing + 1 + 2) - entry_title_buf_utf8len + entry_title_buf_len),
             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             (int)(RGUI_TERM_WIDTH(fb_width) - (entry_spacing + 1 + 2) - entry_title_buf_utf8len + entry_title_buf_len),
             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             entry_title_buf,
             ~~~~~~~~~~~~~~~~
             entry_spacing,
             ~~~~~~~~~~~~~~
             type_str_buf);
             ~~~~~~~~~~~~~
2018-12-16 20:22:53 -08:00
Twinaphex af0bf7a992 Merge pull request #7761 from orbea/c89
Fix gcc warnings with C89_BUILD.
2018-12-17 05:18:13 +01:00
Twinaphex 6dcdb843e8 Merge pull request #7758 from fr500/sideload
Sideload
2018-12-17 05:15:41 +01:00
orbea d557ab09ce Fix a gcc -Wformat= warning with C89_BUILD.
network/netplay/netplay_frontend.c: In function ‘netplay_announce_cb’:
network/netplay/netplay_frontend.c:734:32: warning: format ‘%X’ expects argument of type ‘unsigned int *’, but argument 3 has type ‘int *’ [-Wformat=]
                sscanf(val, "%08X", &host_room->gamecrc);
                             ~~~^   ~~~~~~~~~~~~~~~~~~~
                             %08X
2018-12-16 19:59:53 -08:00
orbea 14905e33e1 Fix more gcc -Wformat= warnings with C89_BUILD.
The "z" modifier was introduced in c99, but using "l" instead
seems to work.

setting_list.c: In function ‘setting_get_string_representation_size’:
setting_list.c:175:24: warning: ISO C90 does not support the ‘z’ gnu_printf length modifier [-Wformat=]
       snprintf(s, len, "%" PRI_SIZET,
                        ^~~
setting_list.c: In function ‘setting_get_string_representation_size_in_mb’:
setting_list.c:183:24: warning: ISO C90 does not support the ‘z’ gnu_printf length modifier [-Wformat=]
       snprintf(s, len, "%" PRI_SIZET,
                        ^~~
setting_list.c: In function ‘setting_set_with_string_representation’:
setting_list.c:508:24: warning: ISO C90 does not support the ‘z’ gnu_scanf length modifier [-Wformat=]
          sscanf(value, "%" PRI_SIZET, setting->value.target.sizet);
                        ^~~

libretro-common/file/config_file.c: In function ‘config_get_size_t’:
libretro-common/file/config_file.c:692:32: warning: ISO C90 does not support the ‘z’ gnu_scanf length modifier [-Wformat=]
       if (sscanf(entry->value, "%" PRI_SIZET, &val) == 1
2018-12-16 19:59:50 -08:00
orbea 169002ef7f Fix a gcc -Wformat= warning with C89_BUILD.
The posix spec claims "%r" is equivelent to "%I : %M : %S %p".

Source: http://pubs.opengroup.org/onlinepubs/9699919799/functions/strftime.html

menu/menu_driver.c:395:15: warning: ISO C90 does not support the ‘%r’ gnu_strftime format [-Wformat=]
             "%r", localtime(&time_));
               ^
2018-12-16 19:59:47 -08:00
orbea 30e5f1dfef Fix gcc -Wformat warnings with C89_BUILD.
gfx/display_servers/dispserv_x11.c: In function ‘x11_display_server_set_resolution’:
gfx/display_servers/dispserv_x11.c:221:76: warning: ISO C90 does not support the ‘%lf’ gnu_printf format [-Wformat=]
       snprintf(xrandr, sizeof(xrandr), "xrandr --newmode \"%dx%d_%0.2f\" %lf %d %d %d %d %d %d %d %d -hsync -vsync", width, height, hz, pixel_clock,
                                                                            ^
gfx/display_servers/dispserv_x11.c:228:76: warning: ISO C90 does not support the ‘%lf’ gnu_printf format [-Wformat=]
       snprintf(xrandr, sizeof(xrandr), "xrandr --newmode \"%dx%d_%0.2f\" %lf %d %d %d %d %d %d %d %d interlace -hsync -vsync", width, height, hz, pixel_clock,
                                                                            ^
2018-12-16 19:15:45 -08:00
Twinaphex 26cb223852 Merge pull request #7760 from orbea/clang
Fix warnings with clang.
2018-12-17 01:54:13 +01:00
orbea 47666fb4a8 Fix clang -Wuninitialized warning.
dynamic.c:188:26: warning: variable 'i' is uninitialized when used here [-Wuninitialized]
         unsigned size = i;
                         ^
dynamic.c:187:20: note: initialize the variable 'i' to silence this warning
         unsigned i, j;
                   ^
                    = 0
1 warning generated.
2018-12-16 16:28:37 -08:00
Twinaphex 9feeaecb12 Merge pull request #7759 from grant2258/mouse
use none zero as requested for udev mouse
2018-12-17 01:25:32 +01:00
orbea 4bc0aacd8b Fix clang -Wreorder warnings.
gfx/drivers_shader/shader_vulkan.cpp:1109:6: warning: field 'id' will be initialized after field 'device' [-Wreorder]
   : id(move(id)),
     ^
gfx/drivers_shader/shader_vulkan.cpp:2107:4: warning: field 'device' will be initialized after field 'memory_properties' [-Wreorder]
   device(device),
   ^
2 warnings generated.
2018-12-16 16:16:07 -08:00
grant2258 3a0c27e753 use none zero as requested 2018-12-17 00:07:00 +00:00
twinaphex 862a4e099b Duplicate entry removed 2018-12-17 00:07:35 +01:00
Twinaphex fbb095cc06 Merge pull request #7730 from grant2258/mouse
fix udev mouse
2018-12-16 23:17:06 +01:00
radius 6c936274b7 make file copy operation a function
add sublabels

improve localization
2018-12-16 16:55:12 -05:00
grant2258 74de0ade03 resolve changes 2018-12-16 20:52:15 +00:00
Twinaphex 708c9c0774 Merge pull request #7754 from orbea/c89
Fix C89 build with clang.
2018-12-16 19:47:17 +01:00
Twinaphex fc6b3b7335 Merge pull request #7755 from fr500/fixes
subsystem: remember last used folder
2018-12-16 19:46:01 +01:00
radius 16d1cf28f7 only show with advanced options and on dynamic platforms 2018-12-16 12:42:10 -05:00
radius bfd23150b5 add core sideloading option 2018-12-16 12:42:09 -05:00
radius 319124c7a0 subsystem: remember last used folder 2018-12-16 12:33:27 -05:00
orbea d40da6aca3 Fix c89 'keyword is hidden by macro definition' with clang. 2018-12-16 08:01:03 -08:00
orbea 6e95a62fdf Fix c89 build with clang. 2018-12-16 07:02:14 -08:00
Twinaphex c0ea6e7574 Merge pull request #7753 from orbea/c89
Fix c89 build.
2018-12-16 07:53:05 +01:00
orbea f4a5c3bd55 Fix c89 build. 2018-12-15 21:03:28 -08:00
Twinaphex 94d5457106 Merge pull request #7752 from orbea/typo
qb: Fix typo.
2018-12-16 05:39:52 +01:00
orbea e0c634cd76 qb: Fix typo. 2018-12-15 19:02:36 -08:00
Twinaphex 72f32b702f Merge pull request #7751 from orbea/c89
Fix c89 incompatible comments.
2018-12-16 04:00:34 +01:00
orbea 7c50dfb397 Fix c89 incompatible comments. 2018-12-15 18:55:21 -08:00
CozmoP f5840ae6f2 Qt: Don't sort history playlist. Declare variables at top. 2018-12-16 01:20:11 +01:00
Twinaphex 3b33edd49e Merge pull request #7750 from libretro/sgc-memory-fixes
fix: Fix use of freed memory in menu animations
2018-12-15 23:01:18 +01:00
Stuart Carnie c00b6e0750 fix: Fix use of freed memory in menu animations
`menu_animation_update` enumerates `menu_animation.list` to process each
`tween`. It was observed that some tweens execute a callback that
pushes more animations via `menu_animation_push`. During the push, if
the tween `list` does not have enough space, a `realloc` occurs,
potentially invalidating the existing list. The remaining pointer access
in menu_animation_update is therefore invalid. Best case is the memory
is unused and thus does not affect the program. Worst case is memory
corruption.
2018-12-15 14:55:10 -07:00
orbea dc020f2569 qb: Support building with the system mbedtls.
Fixes https://github.com/libretro/RetroArch/issues/7639

v2: Fix build failures with griffin.
2018-12-15 09:10:43 -08:00
Twinaphex 90abb7846a Merge pull request #7740 from orbea/hide
menu: Add 'Show Start Recording' and 'Show Start Streaming'.
2018-12-15 18:09:10 +01:00
Twinaphex d55a27f380 Merge pull request #7742 from markwkidd/patch-5
add libretro-db docs for consolidating DATs
2018-12-15 18:08:57 +01:00
Twinaphex 9c9d1741b5 Merge pull request #7743 from orbea/c89
Fix c89 build.
2018-12-15 18:08:48 +01:00
orbea 9be245ad75 qb: Extend check_header.
Now the check_header function can test any number of header files
instead of only four.
2018-12-14 19:16:20 -08:00
orbea 2ea6d5a060 Fix c89 build. 2018-12-14 15:41:52 -08:00
CozmoP b6f36fcf40 Qt: enable table sorting and hide vertical header 2018-12-14 23:33:42 +01:00
CozmoP 20900463f4 Qt: fix crash when switching playlists 2018-12-14 23:33:42 +01:00
Pau López 240856f19c Qt: Implement custom playlist model and grid view.
Only load images when they become visible and cache them.
Add option to change thumbnail type displayed in grid view.
Add option to change thumbnail cache limit.
2018-12-14 23:33:41 +01:00
markwkidd 638ab39dfb add libretro-db docs for consolidating DATs 2018-12-14 14:08:32 -05:00
orbea 2646e49eb4 menu: Add 'Show Start Recording' and 'Show Start Streaming'.
Fixes https://github.com/libretro/RetroArch/issues/7739

These options are located at:

  Settings -> User Interface -> Views -> Quick Menu -> Show Start Recording

and

  Settings -> User Interface -> Views -> Quick Menu -> Show Start Streaming

The quick menu options 'Stop Recording' and 'Stop Streaming' are
intentionally not hidden to prevent users from silently recording or
streaming without realizing.
2018-12-13 18:40:32 -08:00
CozmoP 7b9c094052 Merge branch 'master' into modelview 2018-12-12 21:38:32 +01:00
Pau López a868ef29e8 Qt: Implement custom playlist model and grid view.
Only load images when they become visible and cache them.
Add option to change thumbnail type displayed in grid view.
Add option to change thumbnail cache limit.
2018-12-12 21:06:04 +01:00
grant2258 fd6856ce20 fix tpouchpad as well 2018-12-12 18:27:29 +00:00
grant2258 1d8dd133b7 tidy code up 2018-12-12 17:29:31 +00:00
Twinaphex bd2fb04a47 Merge pull request #7735 from Themaister/master
Vulkan: Fix potential crash when toggling fullscreen.
2018-12-12 15:36:05 +01:00
Themaister 077b108aa1 Vulkan: Fix potential crash when toggling fullscreen.
If we have HW rendering, and we toggle fullscreen while in the menu, we
don't have a ready HW image, so fall back to black dummy texture.
2018-12-12 13:28:46 +01:00
Twinaphex ac536cd28c Merge pull request #7731 from fr500/fixes
fix fullscreen=>windowed when remember window positions is on
2018-12-12 06:27:52 +01:00
radius a7e4d8359b fix fullscreen=>windowed when remember window positions is on 2018-12-11 19:34:12 -05:00
grant2258 07b17059f1 fix udev mouse 2018-12-11 23:24:21 +00:00
Twinaphex c7b3b0f784 Merge pull request #7729 from Themaister/master
EGL: Add callback to select EGLConfig.
2018-12-11 20:29:35 +01:00
Themaister 868465ad01 EGL: Add callback to select EGLConfig.
A more robust fix for DRM/GBM shenanigans.
2018-12-11 20:12:25 +01:00
Twinaphex 669f16c00c Merge pull request #7726 from fr500/subsystem
start at the current loaded content dir for subsystem and disk image …
2018-12-11 05:56:00 +01:00
radius ced0f09f0e start at the current loaded content dir for subsystem and disk image append 2018-12-10 23:51:41 -05:00
Twinaphex e33dfb53cf Merge pull request #7725 from fr500/subsystem
Subsystem
2018-12-11 05:35:47 +01:00
radius 479104ee05 cleanup task_content.c too 2018-12-10 23:27:04 -05:00
radius 7a36190a0e cleanup filebrowser too 2018-12-10 23:20:27 -05:00
radius 45228d0307 massive subsystem cleanup & use the proper data in each instance 2018-12-10 23:01:21 -05:00
radius cad5ae287f fix https://github.com/libretro/fbalpha/issues/24#issuecomment-445803876 2018-12-10 22:09:42 -05:00
Twinaphex 574972c1be Merge pull request #7665 from yoshisuga/master
iOS: Home screen indicator handling for iPhone X/iPad Pro 2018
2018-12-11 03:51:11 +01:00
Twinaphex 048b2df5b0 Merge pull request #7722 from jdgleaver/hide-scan-content
Hide 'scan content' entries from Collections menu when 'Show Import content Tab' is disabled
2018-12-10 18:57:35 +01:00
jdgleaver 11391d601c Hide 'scan content' entries from Collections menu when 'Show Import content Tab' is disabled (RGUI, GLUI) 2018-12-10 17:01:13 +00:00
Brad Parker 51c9914cbb add montreal MITM server for radius 2018-12-09 22:15:45 -05:00
Twinaphex 02ee0112fc Merge pull request #7720 from orbea/reset_core
menu: Add "Show Reset Core Association".
2018-12-10 03:29:47 +01:00
orbea 23bbcdf8ce menu: Add "Show Reset Core Association".
This can be found at:

Settings -> User Interface -> Views -> Quick Menu -> Show Reset Core Association

This could be helpful for child friendly devices where someone may
accidentally reset the core and then not now which core they were using
before or how to set it again.

Also fixes an issue where "Show Add To Favorites" hides
"Reset Core Association" when that is not desired or expected.

Fixes https://github.com/libretro/RetroArch/issues/7714
2018-12-09 17:46:40 -08:00
Twinaphex 7e49146c91 Merge pull request #7717 from Sunderland93/master
Implement support for xdg-decoration
2018-12-09 22:11:43 +01:00
Aleksey Samoilov d82987b1b5 Merge branch 'master' into master 2018-12-09 20:56:20 +03:00
Sunderland93 27f2cc0bff Increase minimal Wayland version to 1.15 2018-12-09 19:28:45 +04:00
Sunderland93 830882e296 Merge branch 'server-decorations' 2018-12-09 19:03:57 +04:00
Sunderland93 613e3f2655 Add generated wayland-protocols to .gitignore 2018-12-09 18:55:30 +04:00
Sunderland93 d1c15efc24 Revert "Add KDE's server-decoration protocol as fallback (for KDE)"
This reverts commit 058a880a8b.
2018-12-09 18:47:47 +04:00
Sunderland93 058a880a8b Add KDE's server-decoration protocol as fallback (for KDE) 2018-12-09 18:42:45 +04:00
Sunderland93 f45154f15c Add support for zxdg_decoration_manager_v1 2018-12-09 14:56:36 +04:00
Twinaphex d823a18025 Merge pull request #7715 from natinusala/master
Add more generated Wayland files to gitignore
2018-12-08 19:48:49 +01:00
natinusala 7ed7b7b436 Add more generated Wayland files to gitignore 2018-12-08 13:27:57 +01:00
Yoshi Sugawara 5d7663ce96 Merge remote-tracking branch 'upstream/master' 2018-12-07 16:39:17 -10:00
twinaphex bfd9141577 Play it safe for non-GBM targets 2018-12-07 21:15:38 +01:00
twinaphex 96840572ef Add HAVE_GBM ifdefs 2018-12-07 20:18:01 +01:00
Twinaphex d6e96b986f Merge pull request #7707 from fr500/upstream
make windowed size take into account window border and title height
2018-12-07 16:33:29 +01:00
Twinaphex 39b1883967 Merge pull request #7711 from jdgleaver/3ds-defaults
(3DS) Improve default configuration
2018-12-07 16:33:02 +01:00
jdgleaver e27e1114c7 (3DS) Improve default configuration 2018-12-07 14:20:28 +00:00
twinaphex 7638637518 Cleanups 2018-12-07 00:51:56 +01:00
Twinaphex e036470e33 Merge pull request #7708 from orbea/kms
Fix KMS with OpenGL.
2018-12-07 00:49:20 +01:00
orbea 5898f3e5d2 Fix KMS with OpenGL.
All credit for this patch goes to dtsarr.

Fixes https://github.com/libretro/RetroArch/issues/7119
2018-12-06 08:34:26 -08:00
radius defe82c9ce fix the menubar height growing issue too 2018-12-06 10:15:50 -05:00
orbea 0735fbcd57 Fix build with '--enable-sixel'. (#7704)
First bad commit 2edd03361c
2018-12-06 10:09:03 -05:00
radius e050ca89c7 make windowed size take into account window border and title height 2018-12-06 10:03:48 -05:00
Aleksey Samoilov 6cf90f739b Merge pull request #4 from libretro/master
Merge master
2018-12-06 17:17:22 +04:00
Twinaphex 7287f84de4 Merge pull request #7705 from Themaister/master
Vulkan: Fix blue/red flip when using HW rendered cores with history.
2018-12-06 14:07:17 +01:00
Themaister 124d9b57d6 Vulkan: Fix blue/red flip when using HW rendered cores with history.
Was using frontend format of BGRA8 when core was RGBA8, with blind
vkCmdCopyImage. Fix is to use the same format as core is pushing to
history buffer.
2018-12-06 11:38:30 +01:00
Twinaphex 890a6aac9a Merge pull request #7701 from rsn8887/master
[LIBNX] Fix switching from Split Joycon mode to Dual Joycon mode
2018-12-06 01:53:16 +01:00
rsn8887 44cd329125 [LIBNX] Fix switching from Split Joycon mode to Dual Joycon mode 2018-12-05 18:29:28 -06:00
Twinaphex 59193b4cd9 Merge pull request #7700 from rsn8887/master
[LIBNX] Fix Split Joycon mode for horizontal holding
2018-12-06 01:24:41 +01:00
rsn8887 f953962d08 [LIBNX] Fix Split Joycon mode for horizontal holding 2018-12-05 18:12:55 -06:00
Twinaphex b3e754466c Merge pull request #7699 from Sunderland93/master
[Wayland] Add fallback interfaces
2018-12-05 22:00:35 +01:00
Sunderland93 f960144212 Merge branch 'fallback' into 'master' 2018-12-05 23:23:02 +04:00
Aleksey Samoilov ff9ebb3998 Merge pull request #3 from libretro/master
Merge master
2018-12-05 23:22:25 +04:00
Twinaphex 5e74115a41 Merge pull request #7676 from Sunderland93/master
Wayland: fixes
2018-12-05 20:15:54 +01:00
Sunderland93 dc94886664 Initial support for xdg-decoration-unstable-v1 2018-12-05 22:51:07 +04:00
Sunderland93 e12caa94d4 Style fixes 2018-12-05 22:36:37 +04:00
Sunderland93 dcec570d05 Style fix 2018-12-05 21:20:15 +04:00
Twinaphex b17b226f94 Merge pull request #7698 from hizzlekizzle/master
add a couple more qualifiers for the autosave interval
2018-12-05 14:01:20 +01:00
Rob Loach a42cacaaf6 autosave_interval: Fix syntax error 2018-12-05 01:55:22 -05:00
hunterk 687fe77cd7 add a couple more qualifiers for the autosave interval 2018-12-04 23:30:57 -06:00
Twinaphex fa904de2f2 Merge pull request #7691 from hizzlekizzle/master
set a default SRAM autosave interval on modern platforms
2018-12-03 14:28:05 +01:00
Sunderland93 72eb7c4f59 Temp fix resizing 2018-12-03 14:48:13 +04:00
Sunderland93 2b6fbbdfe0 Temp fix resizing 2018-12-03 14:46:57 +04:00
Sunderland93 9b0bad5d9f Add zxdg_shell_v6 and wl_shell ad fallback interfaces 2018-12-03 14:32:31 +04:00
hunterk be285b6aca set a default SRAM autosave interval on modern platforms 2018-12-02 20:23:36 -06:00
twinaphex b027395341 (Android/Vulkan) Enable 'emulate mailbox' for Android 2018-12-03 00:40:50 +01:00
Sunderland93 eda342262b Fix 2018-12-02 21:15:57 +04:00
Aleksey Samoilov 3d159d424e Cleanup 2018-12-02 17:53:03 +04:00
Twinaphex 67699be3be Merge pull request #7688 from Tatsuya79/patch-3
Frame count should be OFF by default.
2018-12-01 12:10:47 +01:00
Tatsuya79 a617f0d436 Frame count should be OFF by default. 2018-12-01 11:27:39 +01:00
Twinaphex 646b24c9fc Merge pull request #7686 from alfrix/master
Add icons for apply on toggle and autoapply
2018-11-30 22:27:02 +01:00
alfrix cd2d2f8807 Add icons for apply on toggle and autoapply 2018-11-30 18:10:28 -03:00
Sunderland93 0f5729354e Initial support for toplevel resizing 2018-11-30 21:36:42 +04:00
Twinaphex c749660462 Merge pull request #7684 from Tatsuya79/patch-2
Fix title window fps counter.
2018-11-30 09:35:32 +01:00
Twinaphex 05ea7a6225 Merge pull request #7683 from Tatsuya79/patch-1
Default framecount_show to off.
2018-11-30 09:35:21 +01:00
Twinaphex 4578b82027 Merge pull request #7681 from alfrix/master
Menu drivers asset handling updates
2018-11-30 09:35:06 +01:00
Twinaphex d1a760c72e Merge pull request #7685 from libretro/sgc-metal-rotate
Add native rotation support for Metal driver
2018-11-30 09:34:48 +01:00
Stuart Carnie 0e295716b9 feat(metal): Add native rotation support for Metal driver
* fix crash when frame or frame size is 0
2018-11-29 22:04:43 -07:00
Tatsuya79 c0cada4b55 Fix title window fps counter. 2018-11-30 00:30:12 +01:00
Tatsuya79 3934cec597 Default framecount_show to off. 2018-11-29 22:40:23 +01:00
Twinaphex 1caf10e1e9 Merge pull request #7682 from m4xw/OC
[LIBNX] Implement Over-/Downclocking and minor fixes
2018-11-29 19:30:28 +01:00
alfrix 982b39a8bf Simplify and cleanup path handling, log the specific assets missing 2018-11-29 14:49:39 -03:00
alfrix ab34b21f8d XMB asset handling refactors also do not show black boxes 2018-11-29 14:49:39 -03:00
M4xw 8764d7be28 [LIBNX] Implement Over-/Downclocking and minor fixes 2018-11-29 18:42:44 +01:00
Twinaphex 6d1655a5c3 Merge pull request #7680 from Tatsuya79/master
Add FPS counter hotkey.
2018-11-29 14:50:59 +01:00
Tatsuya79 e37c1c330d Fix missing label. 2018-11-29 13:45:06 +01:00
Tatsuya79 d52b38eadc Add FPS counter hotkey. 2018-11-29 13:12:11 +01:00
twinaphex a24a788e52 Fix subsystem for ozone 2018-11-29 12:12:00 +01:00
twinaphex 0e93fade3e Fix load content not showing up 2018-11-28 19:57:19 +01:00
Twinaphex d794b9069c Merge pull request #7678 from fr500/upstream
Update msg_hash_us.h
2018-11-28 17:02:25 +01:00
Andrés 9989cc38d7 Update msg_hash_us.h 2018-11-28 10:59:42 -05:00
Sunderland93 d81e9a08b2 Add toplevel width and height 2018-11-28 17:59:06 +04:00
Twinaphex 2b2bb0ceb7 Merge pull request #7674 from natinusala/libnx-focus
libnx: implement focus gain and loss callbacks
2018-11-28 14:56:35 +01:00
natinusala bdc68b1044 Lakka: rename Quit RetroArch to Restart RetroArch (english & french) 2018-11-28 14:52:05 +01:00
natinusala 9cad7135a9 libnx: implement focus gain and loss callbacks 2018-11-28 14:11:42 +01:00
twinaphex 1fa89d67c5 (GX audio) Backport https://github.com/netux79/myra1002/commit/eefc216b0d6739f5b73f85bdc1286d32d53dc072 2018-11-28 11:14:21 +01:00
twinaphex ca0bd95c0a FIx MSVC builds 2018-11-28 11:03:52 +01:00
twinaphex 1c6602e35d Add thread safety note 2018-11-28 11:02:36 +01:00
Sunderland93 1e097b0e1d Implement xdg_toplevel_close event 2018-11-28 13:58:14 +04:00
twinaphex af469698da Silence threading error 2018-11-28 09:56:12 +01:00
twinaphex 2777ee2fa4 Fix memory leak 2018-11-28 09:49:28 +01:00
Twinaphex c24fbb7a12 Merge pull request #7672 from grant2258/master
add missing %s
2018-11-28 09:40:29 +01:00
grant2258 b89410043a add missing %s 2018-11-28 08:22:33 +00:00
Twinaphex 723ad2ba53 Merge pull request #7668 from dukemiller/add-toggle-for-dx-memory-use
Create option for dx video drivers to toggle displaying memory use
2018-11-28 08:11:13 +01:00
dukemiller 8294bf86df Create option for dx video drivers to toggle displaying memory use 2018-11-28 00:01:09 -07:00
Twinaphex 3d913b8569 Merge pull request #7669 from dukemiller/show-framecounter-independent-of-fps
Show framecounter independent of fps
2018-11-28 07:46:05 +01:00
Twinaphex 70c4cf0140 Merge pull request #7667 from libretro/revert-7666-revert-7664-ozone-subsystem
Revert "Revert "ozone: Fix subsystem_data being undefined""
2018-11-28 06:11:16 +01:00
Twinaphex 34fe9205db Revert "Revert "ozone: Fix subsystem_data being undefined"" 2018-11-28 06:11:08 +01:00
Twinaphex e400c73636 Merge pull request #7666 from libretro/revert-7664-ozone-subsystem
Revert "ozone: Fix subsystem_data being undefined"
2018-11-28 06:08:52 +01:00
Twinaphex 4d55c74f29 Revert "ozone: Fix subsystem_data being undefined" 2018-11-28 06:08:44 +01:00
dukemiller be9d4c63ec Re-arrange menu options to put related settings closer together 2018-11-27 21:32:15 -07:00
dukemiller f3c682186c Add submenu label for framecount and change wording 2018-11-27 21:32:15 -07:00
dukemiller 1d14512cb0 Allow framecount to be displayed independently without fps counter 2018-11-27 21:32:15 -07:00
Yoshi Sugawara 83c1199403 iOS: Hide home screen indicator and make the user swipe twice to go home/app switching for iPhone X/2018 iPad Pro 2018-11-27 09:37:21 -10:00
Twinaphex ada21dbe8d Merge pull request #7664 from libretro/ozone-subsystem
ozone: Fix subsystem_data being undefined
2018-11-27 19:53:20 +01:00
twinaphex 09698d33a2 Buildfix 2018-11-27 19:52:30 +01:00
Rob Loach e15dd10237 ozone: Fix subsystem_data being undefined
subsystem_data was not defined, seemed like a declaration of subsystem was in the wrong place.
2018-11-27 13:19:50 -05:00
Twinaphex 02e7b16461 Merge pull request #7643 from fr500/subsystem
WIP: try to load subsystems without loading content
2018-11-27 18:56:41 +01:00
Twinaphex 978b5814e1 Merge pull request #7662 from natinusala/ozone
ozone: fix scroll when rebinding inputs
2018-11-27 16:53:07 +01:00
Twinaphex c2b37e6ffc Merge pull request #7663 from natinusala/master
Add generated Wayland protos to .gitignore
2018-11-27 16:52:53 +01:00
natinusala a7b93ff501 Add generated Wayland protos to .gitignore 2018-11-27 15:44:48 +01:00
natinusala ffaafbc77c ozone: fix scroll when rebinding inputs 2018-11-27 15:32:43 +01:00
twinaphex 803af8a890 Add brackets around this 2018-11-27 11:55:39 +01:00
twinaphex 4ca7ebc9da Add xrandr implementation for get_output_options 2018-11-27 11:28:24 +01:00
Twinaphex 1acad3522e Merge pull request #7659 from fr500/upstream
only apply fixed window size when the setting is enabled
2018-11-27 07:50:35 +01:00
Twinaphex c8eaebeb23 Merge pull request #7657 from fr500/patch-2
Update config.def.h
2018-11-27 03:15:15 +01:00
radius aab6a86633 only apply fixed window size when the setting is enabled 2018-11-26 21:15:03 -05:00
Andrés 9d76a6bb00 Update config.def.h 2018-11-26 18:59:50 -05:00
twinaphex bc0dbffc01 Revert "Change custom_command_method_t returntype to int64_t"
This reverts commit e13efbd400.
2018-11-26 20:30:53 +01:00
Aleksey Samoilov 2c35f05560 Merge pull request #2 from libretro/master
Merge master
2018-11-26 22:32:54 +04:00
Twinaphex c16a3a6b88 Update CHANGES.md 2018-11-26 19:26:32 +01:00
Twinaphex 7a174d290e Merge pull request #7655 from Sunderland93/master
[Wayland] Implement idle-inhibit support
2018-11-26 19:25:46 +01:00
Sunderland93 ea180a1775 Relax wayland and wayland-protocols version's 2018-11-26 21:58:43 +04:00
Sunderland93 b538786b00 Implement zwp_idle_inhibit_v1 protocol 2018-11-26 21:54:39 +04:00
twinaphex e13efbd400 Change custom_command_method_t returntype to int64_t 2018-11-26 17:39:04 +01:00
Twinaphex 0bf3007f0a Merge pull request #7654 from natinusala/ozone
ozone: fix flickering sidebar cursor
2018-11-26 14:23:28 +01:00
natinusala 04797d9406 ozone: fix flickering sidebar cursor 2018-11-26 14:02:32 +01:00
twinaphex 6bf35ab6e8 (x11_common.c) Cleanups 2018-11-26 13:54:51 +01:00
twinaphex 098e62067e Small cleanups 2018-11-26 13:37:35 +01:00
twinaphex 136a9db13f Silence warning - variable too small 2018-11-26 12:14:13 +01:00
Twinaphex afb7ee36c9 Merge pull request #7653 from DEX357/patch-25
Update msg_hash_pl.h
2018-11-26 12:11:57 +01:00
DEX357 83bf27ac9b Update msg_hash_pl.h 2018-11-26 12:10:50 +01:00
twinaphex 48dcd9640e Remove this 2018-11-26 01:48:26 +01:00
Twinaphex c90eda14e5 Merge pull request #7651 from natinusala/master
xmb: fix hang when resizing with threaded video driver
2018-11-26 00:19:29 +01:00
natinusala 94211bf833 xmb: fix hang when resizing with threaded video driver 2018-11-26 00:16:25 +01:00
Twinaphex 9f3efd03ea Merge pull request #7650 from fr500/upstream
restore old functionality till the change is done in other platforms
2018-11-25 23:32:15 +01:00
radius 1187df922a restore old functionality till the change is done in other platforms 2018-11-25 17:24:54 -05:00
Twinaphex 7caabe3335 Merge pull request #7649 from fr500/upstream
recording improvements
2018-11-25 21:54:52 +01:00
radius 665be01b6b [record] add recording threads setting 2018-11-25 15:51:52 -05:00
twinaphex 0bf0e355ec This stops the crashes with video_get_output_size/next/prev 2018-11-25 21:51:09 +01:00
radius f9c12866bf [record] add more recording options 2018-11-25 15:20:11 -05:00
twinaphex de903c650d Reinitialize context in a different way 2018-11-25 20:34:50 +01:00
Twinaphex 3ca4ac2a21 (Ozone) Fix redefinition of typedef 2018-11-25 19:22:55 +01:00
twinaphex fb957f29a8 Set current_display_server by default to dispserv_null 2018-11-25 19:12:21 +01:00
twinaphex ff4fa3be7a Fix more string is too small warnings 2018-11-25 18:49:04 +01:00
twinaphex b14ff4d504 - Try to fix Screen Resolution hang on platforms other than PC
by hiding the setting if display server is NULL
- Fix some warnings that had to do with certain strings being too
small
2018-11-25 18:43:08 +01:00
Aleksey Samoilov 2489313d28 Merge pull request #1 from libretro/master
Merge master
2018-11-25 21:25:46 +04:00
Twinaphex 0b50328c6f Merge pull request #7645 from fr500/upstream
repurpose the old settings to the new window sizing code
2018-11-25 17:52:59 +01:00
radius 77ae2dc0cd don't change window position on fullscreen changes 2018-11-25 11:51:13 -05:00
radius a4479e6738 pack the fullscreen settings together 2018-11-25 11:39:05 -05:00
Twinaphex 24b8c99f57 Merge pull request #7644 from natinusala/ozone
ozone: fix toggle crash and cheevos badges opacity
2018-11-25 17:13:17 +01:00
radius c2fc35f2cc repurpose the old settings to the new window sizing code 2018-11-25 11:10:58 -05:00
twinaphex 418f28b57a (dispserv_x11.c) Use snprintf instead of sprintf 2018-11-25 17:09:00 +01:00
twinaphex 8b86c49b39 Fix some warnings 2018-11-25 17:06:55 +01:00
natinusala 44ae11ee60 ozone: fix toggle crash and cheevos badges opacity 2018-11-25 15:46:41 +01:00
twinaphex 4a4a6511e0 Workaround - fullscreen mode was no longer working properly 2018-11-25 10:08:50 +01:00
twinaphex 5313c50b0e (Windows) Saves/remembers window size now too - still some edge case
when clicking maximize button - you need to then move the window
slightly in order for x/y position to be saved - just clicking maximize
alone is not enough
2018-11-25 09:50:08 +01:00
twinaphex cc4f834d74 Rename string to 'Remember Window Positions' 2018-11-25 09:08:43 +01:00
twinaphex e1afdf8c3c (Windows) Start implementing 'remember window positions'. Right now only
saves/remembers X, Y position
2018-11-25 09:02:32 +01:00
twinaphex 881a7d571e Add unfinished patch 2018-11-25 07:19:23 +01:00
radius 77faf4ac4a [subsystem] try to load subsystems without loading content 2018-11-24 23:34:51 -05:00
twinaphex 4e796ae86e (XMB) Cleanups 2018-11-25 05:29:40 +01:00
twinaphex 8be504e5e5 Don't reupload the textures all the time 2018-11-25 03:39:46 +01:00
twinaphex 0486979bc9 Should now work across core context resets 2018-11-25 03:01:41 +01:00
twinaphex 006a002f19 Revert "Should now correctly rescale after resolution changes"
This reverts commit c9bb537cdd.
2018-11-25 02:48:14 +01:00
twinaphex c9bb537cdd Should now correctly rescale after resolution changes 2018-11-25 02:45:13 +01:00
Twinaphex 80f89479bf Merge pull request #7640 from alfrix/master
Add more icons XMB/OZONE
2018-11-25 00:52:19 +01:00
Twinaphex 8ba1b3f20f Merge pull request #7641 from meepingsnesroms/master
Add NULL check to prevent empty password from crashing RetroArch
2018-11-25 00:52:03 +01:00
meepingsnesroms bcb4d61510 Add NULL check to prevent empty password from crashing RetroArch 2018-11-24 12:58:17 -08:00
twinaphex 3a666373b4 Set currently selected icon 2018-11-24 20:26:34 +01:00
twinaphex d04f3c01a1 Add initial implementation for resolution switching for Win32 2018-11-24 20:12:57 +01:00
twinaphex 0eb8acd766 (Win32 display server) Try to set current resolution 2018-11-24 19:50:25 +01:00
twinaphex 7d9e564667 Turn some C++ comments into C comments 2018-11-24 19:40:14 +01:00
twinaphex 2945d450f3 Cleanups 2018-11-24 19:38:40 +01:00
Twinaphex 3d4fc5d38f Merge pull request #7607 from Sunderland93/master
Wayland: xdg-shell support
2018-11-24 18:45:20 +01:00
Sunderland93 17fd203141 Waiting for the "initial" set of globals to appear
(fixed xdg_wm_base_ping working)
2018-11-24 20:52:22 +04:00
Alfrix 1356577c2e Add more icons 2018-11-24 13:21:43 -03:00
twinaphex a561f789e2 Rename switch_resolution to set_resolution 2018-11-24 10:35:32 +01:00
twinaphex 7730828560 Start implementing dropdown list for resolution - Win32 right now at first - now need to make OK button do something 2018-11-24 10:31:41 +01:00
Twinaphex ab8e02617d Merge pull request #7637 from GregorR/revert-7635-master
Fix Buffer Overflow with netplay passwords
2018-11-24 05:04:58 +01:00
twinaphex 0ae3d3873d Create video_display_server_get_resolution_list 2018-11-24 02:50:04 +01:00
twinaphex fdb4d2b6ad Add get_resolution_list for Win32 2018-11-24 02:47:22 +01:00
twinaphex 5d8666e226 Only one function calls EnumDisplaySettings now 2018-11-24 02:06:28 +01:00
twinaphex 45e075c8fe Cleanup 2018-11-24 01:54:39 +01:00
twinaphex 62c6d60c57 Revert "Cleanup shaders_common.h"
This reverts commit c1de2e5697.
2018-11-24 01:29:35 +01:00
twinaphex c5b9352c34 Revert "Rename some files"
This reverts commit 03a8bc9875.
2018-11-24 01:26:05 +01:00
twinaphex 08d024ecad Revert "Get rid of the header guards in shaders_common.h/glsl_common.h"
This reverts commit eef67ee0cd.
2018-11-24 01:25:55 +01:00
twinaphex eef67ee0cd Get rid of the header guards in shaders_common.h/glsl_common.h 2018-11-24 00:37:07 +01:00
twinaphex 03a8bc9875 Rename some files 2018-11-24 00:30:46 +01:00
twinaphex c1de2e5697 Cleanup shaders_common.h 2018-11-23 23:57:22 +01:00
twinaphex 747bf136f2 Simplify strip_parameter_pragmas 2018-11-23 23:42:33 +01:00
Sunderland93 fbcab67d8b Fix wrong toplevel geometry 2018-11-23 23:04:06 +04:00
Sunderland93 cd8bf003d1 Add toplevel configuration 2018-11-23 21:23:53 +04:00
Sunderland93 9d5cb529c1 Add wait event for surface configure 2018-11-23 21:08:42 +04:00
Gregor Richards f897b95d09 Avoid buffer overflows due to sha256_hash's nul-terminator. 2018-11-23 08:24:54 -05:00
Gregor Richards 2a67be3a7c Revert "This should fix netplay passwords" 2018-11-23 08:15:22 -05:00
Twinaphex 145f3ca2a6 Merge pull request #7635 from meepingsnesroms/master
This should fix netplay passwords
2018-11-23 04:25:03 +01:00
Twinaphex 72d9c18837 Merge pull request #7636 from libretro/revert-7633-shaders
Revert "Fix shader warnings"
2018-11-23 04:19:58 +01:00
Twinaphex 8514d6ccc8 Revert "Fix shader warnings" 2018-11-23 04:18:38 +01:00
meepingsnesroms 129beaefb0 This should fix netplay passwords 2018-11-22 18:46:33 -08:00
Twinaphex 350a7477d6 Merge pull request #7633 from alfrix/shaders
Fix shader warnings
2018-11-22 21:40:51 +01:00
Alfrix 3e7328b00a Fix shader warnings 2018-11-22 16:18:11 -03:00
Twinaphex e99e1c47cb Merge pull request #7625 from ayssia/master
Update Simplified Chinese Localization
2018-11-21 22:22:28 +01:00
Twinaphex da928a9b41 Merge pull request #7630 from Royerson/patch-1
add more model names for Xperia Play hack
2018-11-21 22:20:33 +01:00
Royerson ba435ce22a add more model names for Xperia Play hack 2018-11-21 14:06:34 -07:00
Pau López e981afcca8 Fix msvc2017 project 2018-11-21 20:35:06 +01:00
Sunderland93 2615ad3f55 Make it works! 2018-11-21 21:28:32 +04:00
Ayssia 1372d408eb Fix newline at eof 2018-11-21 16:34:27 +08:00
Ayssia 930b1214fd Minor Update 2018-11-21 16:32:52 +08:00
ayssia d0df92f542 Update to latest official
Update to latest official
2018-11-21 16:23:54 +08:00
Twinaphex b3d38c46aa Merge pull request #7622 from altiereslima/master
Update msg_hash_pt_br.h
2018-11-21 00:33:03 +01:00
twinaphex e0658d16d9 Update Griffin 2018-11-21 00:31:50 +01:00
altiereslima 2a630b6590 delete .bak 2018-11-20 19:01:49 -02:00
altiereslima 7aa6311c64 Update msg_hash_pt_br.h 2018-11-20 18:44:37 -02:00
hizzlekizzle d7041f495d Merge pull request #7620 from meepingsnesroms/master
Move the resolutions so they are listed smallest to biggest instead o…
2018-11-19 18:52:19 -06:00
meepingsnesroms 98cae65974 Move the resolutions so they are listed smallest to biggest instead of random, fix some typos 2018-11-19 16:36:01 -08:00
Twinaphex 4d550d7f13 Merge pull request #7617 from natinusala/libnx-clean-depends
libnx: make clean removes *.d files
2018-11-19 19:54:55 +01:00
Twinaphex 6677e47fe8 Merge pull request #7618 from alfrix/master
Fix Travis
2018-11-19 19:54:41 +01:00
Twinaphex 2694c2cb11 Merge pull request #7616 from natinusala/ozone
Ozone improvements and fixes
2018-11-19 19:54:13 +01:00
Twinaphex db0d58e337 Merge pull request #7619 from Royerson/patch-1
add CM9/10 default model names for Xperia Play
2018-11-19 19:39:03 +01:00
Sunderland93 b64f302eb7 Check for resize 2018-11-19 22:31:17 +04:00
Royerson 6044044852 add CM9/10 default model names for Xperia Play 2018-11-19 10:25:11 -07:00
Alfrix 6519120379 Fix Travis 2018-11-19 12:04:43 -03:00
natinusala 678de3a122 libnx: make clean removes *.d files 2018-11-19 14:06:26 +01:00
natinusala 33ecec05c5 ozone: split into multiple files 2018-11-19 13:15:09 +01:00
natinusala b694608251 ozone: increase legibility of menu when content is running 2018-11-19 10:34:02 +01:00
natinusala bca0669833 ozone: fix cheevos badges, convert cheevos.c to LF 2018-11-19 10:23:55 +01:00
natinusala fa96962fa7 ozone: fix osk visual glitch 2018-11-19 09:55:12 +01:00
natinusala 186cc288bb ozone: fix typo, show images tab properly 2018-11-19 09:34:27 +01:00
twinaphex f318f4a1a9 (MSVC) Buildfix 2018-11-19 04:23:20 +01:00
Twinaphex 3638a876fe Merge pull request #7611 from meepingsnesroms/master
Clarify libretro.h documentation
2018-11-19 03:15:16 +01:00
hizzlekizzle fbdcb793ac Merge pull request #7612 from fr500/upstream
xperia play hack
2018-11-18 18:32:11 -06:00
radius 390c9a4dde xperia play hack 2018-11-18 17:34:54 -05:00
meepingsnesroms 94f691e5d2 More info 2018-11-18 11:44:46 -08:00
meepingsnesroms ca5eddf7ff Clarify documentation 2018-11-18 11:18:40 -08:00
Sunderland93 4d8defb4c9 Remove D-bus based screensaver inhibition
(will replaced to idle-inhibit in future)
2018-11-18 21:50:39 +04:00
Sunderland93 c0adb18eff Fix build 2018-11-18 21:29:31 +04:00
twinaphex 7d35bd1649 (Android/Mac/iOS) Add ozone 2018-11-18 17:26:57 +01:00
twinaphex 0942bc6268 Merge branch 'master' of https://github.com/libretro/RetroArch 2018-11-18 17:24:27 +01:00
Twinaphex c0d5579cf2 Merge pull request #7608 from alfrix/master
Add missing assets warning to XMB
2018-11-17 23:20:00 +01:00
Twinaphex af0a9712a6 Merge pull request #7609 from Dwedit/msvc-wasapi
Modify MSVC 2017 project to add in WASAPI support
2018-11-17 17:06:28 +01:00
Dwedit ff844a56c4 Modify MSVC 2017 project to add in WASAPI support
Add conditional code for MSVC to resolve missing GUIDs into wasapi.c
2018-11-17 09:23:12 -06:00
Alfrix 780d77e29e Relax the warning in XMB 2018-11-17 12:00:01 -03:00
Alfrix cabcf490bd Update Spanish 2018-11-17 10:35:42 -03:00
Alfrix 2400da6129 Ozone: Localize and log asset warning 2018-11-17 10:35:20 -03:00
Alfrix f4b6dcb6a1 Add missing assets warning to xmb 2018-11-17 10:34:37 -03:00
Sunderland93 c32c98e667 Very WIP: xdg-shell support 2018-11-17 16:01:51 +04:00
twinaphex 438bb2eb24 Merge branch 'master' of https://github.com/libretro/RetroArch 2018-11-15 22:48:19 +01:00
Twinaphex 292249b79a Merge pull request #7578 from markwkidd/patch-1
GUI English translation: clarify "Configurations" as "Configuration File"
2018-11-15 22:39:22 +01:00
twinaphex 90f6d34055 Merge branch 'master' of https://github.com/libretro/RetroArch 2018-11-15 21:51:55 +01:00
Twinaphex 2a39dc7045 Merge pull request #7594 from markwkidd/patch-2
fix libretro-db Makefile
2018-11-15 21:50:57 +01:00
Twinaphex 6b9dc925b9 Merge pull request #7598 from natinusala/ozone
ozone: fix playlists icons
2018-11-15 21:50:47 +01:00
natinusala fe2f9bdcbc ozone: fix missing content icons 2018-11-15 20:47:59 +01:00
natinusala c421df494b ozone: fix playlists icons 2018-11-15 20:47:59 +01:00
twinaphex ce0195b456 Merge branch 'master' of https://github.com/libretro/RetroArch 2018-11-15 19:28:26 +01:00
Twinaphex 1dcca0ea53 Merge pull request #7596 from natinusala/ozone
ozone: don't break playlists without a hyphen in their name
2018-11-15 19:20:36 +01:00
Twinaphex 611f7f47b1 Merge pull request #7597 from markwkidd/patch-3
update, expand, and re-sequence the libretro-db doc
2018-11-15 19:20:29 +01:00
markwkidd 04bdca8e1f update, expand, and re-sequence libretro-db doc 2018-11-15 13:02:41 -05:00
natinusala 1abab059f9 ozone: don't break playlists without a hyphen in their name 2018-11-15 19:01:30 +01:00
Twinaphex f2d184ead6 Merge pull request #7595 from natinusala/ozone
Ozone: add console playlists support, always enable, set as default for libnx
2018-11-15 18:59:40 +01:00
natinusala 6f631309cd ozone: always enable and build, set to default menu driver for libnx 2018-11-15 18:46:38 +01:00
natinusala 48cdac2a64 ozone: add console playlists support 2018-11-15 18:41:50 +01:00
markwkidd 0aca0afa07 fix libretro-db Makefile
The current Makefile doesn't work. This patch comes via @grant2258 and originally from @natinusala and is intended to resolve https://github.com/libretro/RetroArch/issues/7586
2018-11-15 10:38:24 -05:00
twinaphex 1ea3252602 Merge branch 'master' of https://github.com/libretro/RetroArch 2018-11-15 03:51:11 +01:00
Twinaphex 460e7481d0 Merge pull request #7591 from natinusala/ozone
Ozone and menu_display improvements
2018-11-14 18:16:19 +01:00
Twinaphex b2c2a33389 Merge pull request #7593 from jdgleaver/3ds-persistent-bottom-screen-toggle
(3DS) Add 'bottom screen' enable to User Interface menu
2018-11-14 18:16:10 +01:00
jdgleaver ca13805937 (3DS) Add 'bottom screen' enable to User Interface menu 2018-11-14 16:41:19 +00:00
Jean-André Santoni c190ceb9f8 Merge pull request #7592 from libretro/kivutar/lakka-tmp-fix
(Lakka) Temporary fix for the settings tab
2018-11-14 22:39:55 +07:00
Jean-André Santoni f7d0a1fcce (Lakka) Temporary fix for the settings tab 2018-11-14 22:26:56 +07:00
natinusala c1f3f79119 menu_display: fix glitch in draw_texture_slice 2018-11-14 15:30:09 +01:00
natinusala 228f8ca0ef ozone: display correct tabs 2018-11-14 14:41:41 +01:00
natinusala f493c114b5 ozone: fix visual issues, add fade in/out to messagebox 2018-11-14 14:18:14 +01:00
Twinaphex ca29032e1b Merge pull request #7590 from kwyxz/master
Quick fix for "multiple definitions of osk_dark" in Ozone
2018-11-13 20:56:15 +01:00
Benjamin FRANCOIS fd863e2607 Fix build 2018-11-13 10:34:21 -08:00
Twinaphex 6110616c0c Merge pull request #7589 from natinusala/ozone
Ozone improvements, new menu_animation features
2018-11-13 17:32:13 +01:00
natinusala a8a5f286b9 ozone: see content behind menu if content is running 2018-11-13 16:05:24 +01:00
natinusala 73f6e51892 ozone: improve OSK display 2018-11-13 15:48:16 +01:00
natinusala 4af4582204 ozone: fix empty playlist message position 2018-11-13 14:35:15 +01:00
natinusala d35f747b5a menu_animation: add menu_timer system 2018-11-13 14:33:32 +01:00
natinusala 2c628860c8 ozone: fix some values display 2018-11-13 14:08:28 +01:00
natinusala 8a1afb0a52 ozone: add support for cursor height, improve empty playlists display 2018-11-13 14:01:59 +01:00
natinusala f9d74ad0e0 ozone: add is_playlist flag 2018-11-13 13:09:47 +01:00
natinusala 28b415f9f2 ozone: implement bind_init 2018-11-13 12:54:06 +01:00
natinusala eee619f64b ozone: go back to main menu tab when pressing B on the sidebar 2018-11-13 12:52:20 +01:00
natinusala 3b08a377db vscode: don't detect indentation, use 3 spaces as default 2018-11-13 12:46:57 +01:00
natinusala 145f4fd712 Fix and update vscode tasks 2018-11-13 10:24:03 +01:00
twinaphex ce2944b09f Merge branch 'master' of https://github.com/libretro/RetroArch 2018-11-12 23:38:22 +01:00
Twinaphex 94a4574a7b Merge pull request #7585 from kwyxz/master
Temporary fix until Haiku implements the optional POSIX functions
2018-11-12 23:10:05 +01:00
Benjamin FRANCOIS d8483a9dc9 Temporary fix until Haiku implements the optional POSIX functions 2018-11-12 21:52:01 +00:00
twinaphex 5bc8b131b3 Merge branch 'master' of https://github.com/libretro/RetroArch 2018-11-12 21:54:59 +01:00
Twinaphex 1ef286ec7c Merge pull request #7583 from alfrix/input_icons
Input icons (User Binds)
2018-11-12 21:53:07 +01:00
Twinaphex e9afbe8651 Merge pull request #7584 from jdgleaver/ctr-pokemini-assets
[CTR] Add PokeMini assets
2018-11-12 19:15:38 +01:00
jdgleaver 6bf61155bb [CTR] Add PokeMini assets 2018-11-12 17:12:15 +00:00
Alfrix 989ddb35a8 Cleanup 2018-11-12 00:54:24 -03:00
Alfrix 53e89f6bd1 Fix shutdown icon and add restart 2018-11-12 00:38:12 -03:00
Alfrix e5c7de8607 Input icons (User binds) 2018-11-12 00:30:09 -03:00
twinaphex a20fc528e1 Merge branch 'master' of https://github.com/libretro/RetroArch 2018-11-11 22:29:50 +01:00
Twinaphex 62eb7822e0 Merge pull request #7579 from AdrianoML/master
Major improvements to the video processor core
2018-11-11 22:08:18 +01:00
Rob Loach dd869e30d3 Merge pull request #7582 from DEX357/patch-24
Update msg_hash_pl.h
2018-11-11 15:02:09 -05:00
Adriano de Moura Leite 85a3f952b9 Removes the return in the audio callback and restores samplerate to
48khz
2018-11-11 17:44:35 -02:00
DEX357 f295793c70 Update msg_hash_pl.h 2018-11-11 19:45:17 +01:00
Adriano de Moura Leite 0634e38ede Fixes an audio freewheeling situation where a capture card with no
sound capture captabilities would result in an empty audio_handle,
therefore making audio_callback thread spin forever
2018-11-11 04:48:46 -02:00
Adriano de Moura Leite 7b4652ac27 Reverts a change I mistakelny left behind for temporarely disabling the
audio callback, which was causing a freewheeling issue with my setup.
2018-11-11 04:35:21 -02:00
Adriano de Moura Leite 4c67888671 Major improvements to the video processor core.
Supports multiple capture and output modes with deinterlacing
New dummy mode for testing the core even without a capture device
Ability to display frametimes
alternate_hack mode allows capture cards without alternate capture mode
to capture progressive or interlaced inputs at 16ms rather than 33ms
2018-11-11 04:25:51 -02:00
Twinaphex b166ba7810 Merge pull request #7576 from DEX357/patch-23
Update msg_hash_pl.h
2018-11-10 20:31:13 +01:00
Twinaphex 5ebe0fc4a1 Merge pull request #7577 from Tatsuya79/master
Analog stick to trigger remap functionality.
2018-11-10 20:30:58 +01:00
markwkidd a811f181e6 GUI English translation: clarify "Configurations" 2018-11-10 08:42:05 -08:00
DEX357 0d2cd4982d Update msg_hash_pl.h 2018-11-10 17:27:42 +01:00
Tatsuya79 1e5192462e Analog stick to trigger remap functionality. 2018-11-10 17:27:14 +01:00
Rob Loach 07677fa85a Merge pull request #7575 from meepingsnesroms/master
Add Mu to Web Player
2018-11-10 11:14:09 -05:00
meepingsnesroms 1b1dac7f40 Add Mu to Web Player 2018-11-10 07:10:01 -08:00
Twinaphex e0a411dd24 Merge pull request #7574 from natinusala/ozone
ozone: fix content clear color
2018-11-10 15:30:49 +01:00
natinusala 6733eaa330 ozone: fix content clear color 2018-11-10 15:25:29 +01:00
Twinaphex 314f9279b8 Merge pull request #7573 from Zlika/master
emscripten: fix README and add Theodore core
2018-11-10 14:58:18 +01:00
Zlika 6a93ad0dce Add Theodore core to emscripten 2018-11-10 14:45:20 +01:00
Zlika 064eb16ceb Fix emscripten README 2018-11-10 14:44:46 +01:00
twinaphex 4c11295c99 Merge branch 'master' of https://github.com/libretro/RetroArch 2018-11-10 00:31:17 +01:00
Twinaphex cce9e343aa Merge pull request #7570 from fjtrujy/feature/ps2Support
First Integration RetroArch For PS2
2018-11-10 00:28:23 +01:00
Francisco Javier Trujillo Mata 8065e19cc1 Improve Initalisation of GSTextures 2018-11-09 22:40:51 +01:00
Francisco Javier Trujillo Mata 4655e15a85 Remove unusefull things in Makefile 2018-11-09 22:40:51 +01:00
Francisco Javier Trujillo Mata 801927aaf5 Fixed issues with the colors. Now it is working fine with 2048 2018-11-09 22:40:51 +01:00
Francisco Javier Trujillo Mata 7fa7bd32d3 Now it supports force_aspect ratio 2018-11-09 22:40:51 +01:00
Francisco Javier Trujillo Mata 52544115db Add fullscreen parameter 2018-11-09 22:40:51 +01:00
Francisco Javier Trujillo Mata 4e1624359a Added Filter option in the creation of Textures 2018-11-09 22:40:51 +01:00
Francisco Javier Trujillo Mata 66159a44e5 Some clean in gfx 2018-11-09 22:40:51 +01:00
Francisco Javier Trujillo Mata b4d2c5d85a Refactor method where transfer the frame to the textures 2018-11-09 22:40:51 +01:00
Francisco Javier Trujillo Mata 6b5ae4cdd6 Make more generic to choose the 32bits or 16bits 2018-11-09 22:40:51 +01:00
Francisco Javier Trujillo Mata 18dc40117d Applied color correction to the libretro core 2018-11-09 22:40:51 +01:00
Francisco Javier Trujillo Mata b378ecf26b Test Core working with 2 textures 2018-11-09 22:40:51 +01:00
Francisco Javier Trujillo Mata 4c77e426fa Replaced a lot of functions from libc to C implementation in compat_ctype.c 2018-11-09 22:40:51 +01:00
Francisco Javier Trujillo Mata 99b77a2c9c Copied from core compat string methods 2018-11-09 22:40:51 +01:00
Francisco Javier Trujillo Mata 17d30f9dd5 Use SDL timer for counters and sleep the thread 2018-11-09 22:40:51 +01:00
Francisco Javier Trujillo Mata 5ba2509e7c Now the directories are working 2018-11-09 22:40:50 +01:00
Francisco Javier Trujillo Mata b4aedc801b Fixed issue on retro_dirent with if clausules 2018-11-09 22:40:50 +01:00
Francisco Javier Trujillo Mata 802c38bd92 Fix why default entries doesn't appear 2018-11-09 22:40:50 +01:00
Francisco Javier Trujillo Mata fc9cd8f639 JoyPad implemented 2018-11-09 22:40:50 +01:00
Francisco Javier Trujillo Mata 8a0266cf8d PS2 Input looks to be ready 2018-11-09 22:40:50 +01:00
Francisco Javier Trujillo Mata 21587ba2a4 Now RGUI shows fullscreen proper colors 2018-11-09 22:40:50 +01:00
Francisco Javier Trujillo Mata f4680b03eb now it looks full screen 2018-11-09 22:40:50 +01:00
Francisco Javier Trujillo Mata 1f756533f9 First Content on the Screen!! 2018-11-09 22:40:50 +01:00
Francisco Javier Trujillo Mata d7cc3b7983 PS2 making the gfx driver clean the screen 2018-11-09 22:40:50 +01:00
Francisco Javier Trujillo Mata 0880bd00b0 PS2 is compiling with null drivers 2018-11-09 22:40:50 +01:00
Twinaphex 43a42d0d13 Merge pull request #7568 from orbea/cleanup
Makefile.common: Cleanup pt. 2
2018-11-09 22:01:34 +01:00
orbea 6a66ec9e45 Makefile.common: Cleanup pt. 2 2018-11-09 12:00:45 -08:00
Twinaphex abfacf32e7 Merge pull request #7567 from natinusala/ozone
Ozone cursor improvements + missing assets message
2018-11-09 20:17:37 +01:00
Twinaphex 53787c19ca Merge pull request #7566 from orbea/cleanup
Makefile.common: Cleanup.
2018-11-09 20:17:26 +01:00
orbea 139b886abe Makefile.common: Cleanup. 2018-11-09 11:14:15 -08:00
natinusala 650f9e9e36 ozone: pulsating cursor 2018-11-09 18:50:27 +01:00
natinusala 5406e19c3e ozone: add missing assets message 2018-11-09 17:00:44 +01:00
natinusala 20a8e1b40f ozone: fancy new cursor 2018-11-09 16:51:34 +01:00
Twinaphex d514539867 Merge pull request #7564 from alfrix/master
Add more icons OZONE/XMB
2018-11-08 23:56:37 +01:00
Alfrix 0b29a93bf3 Add more icons OZONE/XMB 2018-11-08 19:43:42 -03:00
twinaphex d7e7c94a17 Merge branch 'master' of https://github.com/libretro/RetroArch 2018-11-08 22:34:05 +01:00
Twinaphex 56b6ef9d74 Merge pull request #7563 from Themaister/master
Vulkan: Fix scissor and slang \r endings.
2018-11-08 22:23:10 +01:00
Themaister f51ef85f27 Vulkan: Fix scissor in menu driver. 2018-11-08 21:57:53 +01:00
Themaister afcd25a3f8 Vulkan: Fix scissor in menu driver. 2018-11-08 21:45:51 +01:00
Themaister 3f344660c0 Remove Windows \r line endings in glslang parser. 2018-11-08 21:34:21 +01:00
Twinaphex 723741fc60 Merge pull request #7561 from natinusala/ozone
ozone: implement messagebox and OSK, fix font
2018-11-08 12:03:14 +01:00
natinusala b5f869bf25 ozone: implement messagebox and OSK 2018-11-08 12:00:06 +01:00
natinusala 019e6d8e2d ozone: fix restore clear color on toggle 2018-11-08 12:00:06 +01:00
hizzlekizzle 65d205f431 Merge pull request #7558 from alfrix/check
More icons XMB
2018-11-07 13:43:08 -06:00
Alfrix e1f97646ee More icons XMB 2018-11-07 15:10:13 -03:00
Twinaphex dc0fdd7c68 Merge pull request #7557 from yoshisuga/ios-fix-cmd-event
iOS: fix stack overflow when loading glsl shader
2018-11-07 18:00:36 +01:00
Yoshi Sugawara 559ae6dfd0 iOS: fix to avoid stack overflow when loading glsl shader; see issue 7298. Re-applying this fix after the reverting to use cocoa_gl_ctx.m for the driver context 2018-11-07 06:57:04 -10:00
Twinaphex 59fdd8eabd Merge pull request #7554 from alfrix/check
Do not draw icons in the dropdown (only the checkmark)
2018-11-07 17:12:49 +01:00
Twinaphex b932d3f031 Merge pull request #7556 from natinusala/ozone
ozone: don't use subsetting icon for config
2018-11-07 16:47:48 +01:00
natinusala 9ceceef2b8 ozone: don't use subsetting icon for config 2018-11-07 13:45:51 +01:00
Twinaphex ffd709f823 Merge pull request #7555 from natinusala/ozone
ozone: never draw cogs
2018-11-07 13:40:45 +01:00
natinusala 265683b0aa ozone: never draw cogs 2018-11-07 12:50:17 +01:00
Alfrix a1213f372c Do not draw icons in the dropdown (only the checkmark) 2018-11-07 08:42:16 -03:00
Twinaphex d5bfc4efb2 Merge pull request #7550 from alfrix/check
Add checkmark to XMB dropdown lists
2018-11-07 11:59:15 +01:00
Twinaphex a6485d42dd Merge pull request #7553 from natinusala/ozone
Ozone improvements
2018-11-07 11:59:02 +01:00
natinusala 4312868080 ozone: don't draw icons if all entries are cogs 2018-11-07 11:52:08 +01:00
natinusala 6fa40df7fd ozone: fix missing icons 2018-11-07 11:25:49 +01:00
Alfrix 2c7f24590a Add checkmark to XMB dropdown lists 2018-11-06 22:48:38 -03:00
twinaphex f271ea789d (VG) Buildfix 2018-11-06 20:58:41 +01:00
Twinaphex e4b30eb087 Merge pull request #7547 from theheroGAC/patch-39
Update msg_hash_it.h
2018-11-06 19:22:10 +01:00
theheroGAC 03e6ad8831 Update msg_hash_it.h 2018-11-06 17:50:12 +01:00
Twinaphex 3a47901a90 Merge pull request #7546 from natinusala/ozone
ozone: don't crash if font_driver_get_message_width isn't implemented
2018-11-06 17:01:17 +01:00
natinusala 7227e1147e ozone: don't crash if font_driver_get_message_width isn't implemented 2018-11-06 16:57:44 +01:00
Twinaphex 1193eda5d9 Merge pull request #7545 from libretro/sgc-metal-cleanup
Metal cleanup and scissor support; enable ozone menu system
2018-11-06 16:02:47 +01:00
Stuart Carnie fd2524429d chore(meta): Cleanup 2018-11-06 07:56:05 -07:00
Stuart Carnie b59f05500e feat(macOS): Enable ozone menu system 2018-11-06 07:56:05 -07:00
Stuart Carnie 8569ee79bc feat(metal): Add scissor rect support
This is required for correct rendering of the ozone menu
2018-11-06 07:56:05 -07:00
Stuart Carnie 0485d741a2 fix(ozone): Fix crash on shutdown; check for NULL 2018-11-06 07:56:05 -07:00
Stuart Carnie 68760b36f2 chore(cocoa): Cleanup unnecessary conditionals in Metal source files 2018-11-06 07:56:05 -07:00
Stuart Carnie 98e6adcfca chore(cocoa): Remove Gestalt compiler warnings for macOS 10.13+ 2018-11-06 07:56:04 -07:00
Twinaphex 3919ac7c7d Merge pull request #7544 from natinusala/ozone
Ozone improvements
2018-11-06 15:52:20 +01:00
natinusala 9e2db18480 ozone: fix sublabel wrapping 2018-11-06 15:39:38 +01:00
natinusala 7f17c50738 ozone: implement battery display 2018-11-06 14:58:17 +01:00
twinaphex c9cccfbd30 Fix title for dropdown box list special 2018-11-06 09:24:27 +01:00
twinaphex 180bb3bdd2 Implement natinusala's commit - dropdown lists - fix checked attribute
for ints, uints and floats
2018-11-06 09:22:49 +01:00
twinaphex 5984d16da9 Fix Window Width / Height settings 2018-11-05 20:53:53 +01:00
twinaphex 2e8b25a6dc Fix 'Fullscreen Width' / 'Fullscreen Height' dropdown lists 2018-11-05 20:50:32 +01:00
twinaphex c2fc821fad Audio Output Rate should use special dropdown list callbacks 2018-11-05 20:46:56 +01:00
twinaphex 165a5d7208 Fix dropdown uint item 2018-11-05 20:36:39 +01:00
Twinaphex fd2d47a9a8 Merge pull request #7537 from natinusala/ozone
Dropdown lists: Add a checked bool to menu_entry_t
2018-11-05 17:37:05 +01:00
natinusala 07068e5035 Dropdown lists: Add a checked bool to menu_entry_t 2018-11-05 17:34:57 +01:00
Twinaphex d34f96866e Merge pull request #7535 from natinusala/ozone
ozone: fix horizontal animation direction
2018-11-05 16:58:03 +01:00
natinusala 1a575dec7a ozone: fix horizontal animation direction 2018-11-05 15:48:55 +01:00
Twinaphex 9a15354314 Merge pull request #7534 from libretro/sgc-fix-context
Enable GL context for HAVE_COCOA_METAL
2018-11-05 14:57:05 +01:00
Stuart Carnie 3a64ddc287 fix(metal): Enable GL context for HAVE_COCOA_METAL 2018-11-05 06:54:46 -07:00
twinaphex 73e7a0760a Update label 2018-11-05 14:52:57 +01:00
twinaphex e37f5a2465 Update libretro-common 2018-11-05 14:47:06 +01:00
twinaphex 6c90b63835 Add 'No Favorites Available' text 2018-11-05 14:30:08 +01:00
twinaphex c55b9c8c22 Add 'No Videos Available' / 'No Images Available' text 2018-11-05 14:23:17 +01:00
twinaphex 88a71175aa Simplify some code 2018-11-05 14:02:53 +01:00
twinaphex 70ccbb6fb5 Add customized string for 'no Music Available' 2018-11-05 13:59:38 +01:00
Twinaphex 1116e9afda Merge pull request #7530 from libretro/sgc-separate
Introduce separate macOS Metal+GL source and restore GL-legacy + iOS code
2018-11-05 06:32:31 +01:00
Twinaphex db1e312da0 Merge pull request #7529 from natinusala/ozone
ozone: fix ghost sidebar when toggling menu + icons update
2018-11-05 06:31:54 +01:00
Stuart Carnie 879a1b7092 fix(cocoa): Update Metal xib to use deployment target 2018-11-04 20:50:52 -07:00
Stuart Carnie dde3545600 chore(cocoa): Revert to using cocoa_gl_ctx.m; remove macos_ctx.m 2018-11-04 20:50:51 -07:00
Stuart Carnie 43e8702e12 fix(cocoa): Copy xib for PPC compat; upgrade GL-legacy xib to 10.6 2018-11-04 20:50:51 -07:00
twinaphex 69aae94e5f (Cocoa) Dehardcode some strings
(cherry picked from commit 7c93a0934e)
2018-11-04 20:50:51 -07:00
twinaphex 512a681345 Use runloop_get_libretro_system_info in more places - clean some code up
(cherry picked from commit a662b62d19)
2018-11-04 20:50:51 -07:00
twinaphex 9a73bae868 Buildfix
(cherry picked from commit 7717631909)
2018-11-04 20:50:51 -07:00
twinaphex 0db432ca68 Add HAVE_QT ifdefs
(cherry picked from commit 9f74b05b13)
2018-11-04 20:50:51 -07:00
twinaphex 7880e11ca0 Warning fix
(cherry picked from commit fa1096a604)
2018-11-04 20:50:51 -07:00
twinaphex 04c046e831 Update
(cherry picked from commit 64cc28a487)
2018-11-04 20:50:50 -07:00
Stuart Carnie 5c1075127b chore(metal): Separate legacy GL and Metal source
* Forks of Cocoa / Cocoa Touch to *_metal.* version
* Reverted original GL Cocoa / Cocoa Touch versions
* GL and Metal projects still build
2018-11-04 20:50:50 -07:00
natinusala fd65daebbb ozone: update icons to be on par with XMB 2018-11-05 00:42:18 +01:00
natinusala ea736cea19 ozone: fix ghost sidebar when toggling menu 2018-11-05 00:28:24 +01:00
Twinaphex 1e7ee00c60 Merge pull request #7527 from alfrix/input_icons
Input icons (Quickmenu-controls)
2018-11-04 21:23:45 +01:00
Alfrix 6292c8ed2e Input icons (Quickmenu) 2018-11-04 17:15:30 -03:00
Twinaphex 183da9f83a Merge pull request #7525 from alfrix/lakka
add some icons
2018-11-04 20:15:04 +01:00
Alfrix 1b39b73b61 add some Lakka icons 2018-11-04 15:11:19 -03:00
twinaphex 52606fbc8e Should fix dropdown list UINT settings like Audio Output Rate 2018-11-04 17:21:51 +01:00
twinaphex 5a506ac16c Hide Recording settings if record driver is set to null 2018-11-04 15:51:49 +01:00
twinaphex a25ec048d4 Fix library version string 2018-11-04 15:14:08 +01:00
Twinaphex d59d42b901 Update CHANGES.md 2018-11-02 17:55:21 +01:00
Twinaphex 2a3a8ce849 Merge pull request #7518 from jdgleaver/normal2x-cpu-filter
Add Normal2x CPU filter
2018-11-02 17:55:02 +01:00
twinaphex 7ec627d41d Cleanups 2018-11-02 16:32:32 +01:00
twinaphex e374061f90 Cleanups 2018-11-02 16:30:52 +01:00
jdgleaver 7be48c8034 Add Normal2x CPU filter 2018-11-02 14:30:26 +00:00
twinaphex 1aded41b33 Add more localized strings 2018-11-02 15:29:29 +01:00
twinaphex ad6f891290 Hide MIDI settings if driver is set to null 2018-11-02 15:18:29 +01:00
twinaphex 62cf1d6c37 (NL) Update Dutch 2018-11-02 11:18:54 +01:00
Twinaphex 97c1b20a8b Merge pull request #7516 from DEX357/patch-22
Update msg_hash_pl.h
2018-11-02 03:25:12 +01:00
DEX357 f92f5366b1 Update msg_hash_pl.h 2018-11-01 13:54:14 +01:00
Twinaphex c9c833806b Merge pull request #7514 from theheroGAC/patch-38
Update msg_hash_it.h
2018-11-01 10:52:42 +01:00
theheroGAC 01864b4f6e Update msg_hash_it.h 2018-11-01 09:25:36 +01:00
hizzlekizzle af5eef427e Merge pull request #7513 from natinusala/libnx-video-recording
libnx: enable video recording
2018-10-31 20:23:44 -05:00
natinusala 49082a8c80 libnx: enable video recording 2018-11-01 01:55:05 +01:00
Twinaphex 02e43719bf Merge pull request #7511 from natinusala/ozone
Don't link WIP menu drivers by default
2018-10-31 12:29:31 +01:00
natinusala a552f26f76 Don't link WIP menu drivers by default 2018-10-31 12:02:24 +01:00
twinaphex 7c93a0934e (Cocoa) Dehardcode some strings 2018-10-30 19:32:52 +01:00
twinaphex 6cec123fc3 Try this instead 2018-10-30 18:24:37 +01:00
twinaphex e2888aa5a2 Apply madmonkeys' diff 2018-10-30 17:25:28 +01:00
twinaphex a662b62d19 Use runloop_get_libretro_system_info in more places - clean some code up 2018-10-30 17:11:07 +01:00
twinaphex 51430e9e5f Add runloop_get_libretro_system_info 2018-10-30 08:21:32 +01:00
twinaphex 6c51c4458b Cleanups 2018-10-29 07:38:26 +01:00
twinaphex 03dac742cb (task_content.c) Some more cleanups 2018-10-29 04:59:54 +01:00
twinaphex e6dfa35f9d (task_content.c) More cleanups 2018-10-29 04:48:22 +01:00
twinaphex 305a07a3f3 Create some variables for size 2018-10-29 04:43:05 +01:00
twinaphex e31c4f541a Simplify init_subsystem function 2018-10-29 04:04:25 +01:00
Twinaphex d938861f1a Merge pull request #7502 from fr500/upstream
Couple fixes
2018-10-29 01:55:15 +01:00
radius 8f2b91d95e [cheevos] fix badges 2018-10-28 19:46:23 -05:00
radius 32766f0017 [content] CRC calculation for needs_fullpath should be within else block 2018-10-28 19:40:18 -05:00
Twinaphex 57e3b313e2 Merge pull request #7499 from natinusala/ozone
ozone: load textures for every theme (#7498 workaround)
2018-10-27 23:28:38 +02:00
natinusala 7d058e61b5 ozone: load textures for every theme (#7498 workaround) 2018-10-27 23:08:20 +02:00
Twinaphex 3e04b88113 Merge pull request #7494 from p-sam/libnx-sanitize-exit
libnx: call retroarch_main_quit on exit
2018-10-27 20:23:05 +02:00
Twinaphex aeeb8e188a Merge pull request #7496 from natinusala/ozone
More ozone improvements
2018-10-27 20:16:46 +02:00
Twinaphex 39df55fec8 Merge pull request #7495 from m4xw/develop
[LIBNX] Initialize HID anyway, might fix randomly having no controls
2018-10-27 20:16:35 +02:00
natinusala 67ed8d3986 ozone: fix entries centering 2018-10-27 19:28:18 +02:00
M4xw efb71fc38e [LIBNX] Initialize HID anyway, might fix randomly having no controls 2018-10-27 19:27:24 +02:00
natinusala c9a5156e5d ozone: fix on the fly theme setting 2018-10-27 19:19:52 +02:00
natinusala b56da6919c Convert msg_hash_el.h to LF 2018-10-27 19:13:18 +02:00
p-sam 4c5c2170b6 libnx: call retroarch_main_quit on exit 2018-10-27 16:18:56 +00:00
natinusala d7be8c4cf2 ozone: fix tabs wrapping, again 2018-10-27 17:25:13 +02:00
twinaphex c00d3e809a (Ozone) Fix default value for 'Use Preferred System Color Theme' 2018-10-27 17:11:43 +02:00
twinaphex 689e612af8 (Ozone) Add 'Use System Preferred Color Theme' (enabled for Switch) 2018-10-27 17:10:53 +02:00
twinaphex 624698d2d9 (Ozone) Add menu color theme 2018-10-27 16:51:17 +02:00
Twinaphex aad127ed2c Merge pull request #7492 from lambolighting/master
Update Greek Translation
2018-10-27 15:45:19 +02:00
Twinaphex 099b04c557 Merge pull request #7493 from natinusala/ozone
Ozone libnx fixes
2018-10-27 15:44:57 +02:00
natinusala 52ab4a58a2 ozone: fix tabs wrapping 2018-10-27 14:52:26 +02:00
natinusala 8e37ad858a ozone: fix horizontal animation on libnx 2018-10-27 14:52:22 +02:00
natinusala f50b184149 ozone: build it for libnx platform, don't set it as default yet 2018-10-27 14:32:55 +02:00
LamboLighting b1c9b4919a Update Greek Translation
More updates. Most of the basic menu has been translated.
2018-10-27 11:41:56 +03:00
twinaphex 75d36ebc1f (Ozone) Button legend now responds to 'Menu Swap OK/Cancel' setting 2018-10-27 06:18:56 +02:00
twinaphex 622bef1f7a Dehardcode some more strings 2018-10-27 05:48:44 +02:00
twinaphex 9b72a3337c (Dutch) Update Dutch translation
(Ozone) Update hardcoded label
2018-10-27 05:29:28 +02:00
twinaphex 199bc744b3 (Ozone) Use strlcpy/strlcat 2018-10-27 04:47:12 +02:00
twinaphex 2fd2649eb8 Fix ton of C89 warnings/errors 2018-10-27 04:40:43 +02:00
twinaphex a4d75e3dd8 C89 buildfix 2018-10-27 02:57:50 +02:00
Twinaphex eb734e4f37 Merge pull request #7491 from natinusala/ozone
[WIP] Ozone menu driver
2018-10-27 01:10:22 +02:00
natinusala 158ddc0b2a New menu driver : ozone (Nintendo Switch lookalike) 2018-10-26 13:24:32 +02:00
Twinaphex 20b9d12914 Merge pull request #7487 from nayslayer/fix-menudriver-leaks
Fix xmb.c and stripes.c menu drivers texture memory leak
2018-10-25 19:55:48 +02:00
Twinaphex 0183361254 Merge pull request #7485 from Classicmods/master
Added Official RA "Classic" build platform including ARM7 A7 optimisations and Hakchi Build
2018-10-25 19:55:06 +02:00
Ryan 'Swingflip' Hamlin 4a4d7f5e2f Revert MM dynamic code for seperate PR and rework 2018-10-25 18:48:10 +01:00
Nay Slayer 6b96ff82de Fix xmb.c and stripes.c menu drivers texture memory leak 2018-10-25 19:40:24 +03:00
Ryan 'Swingflip' Hamlin cff8c7741c Fixed tabbing and grammar on Makefile for A7A7 2018-10-25 16:47:46 +01:00
Ryan 'Swingflip' Hamlin 2a4f42aba0 Updated wording included link to support page incase/when help is required. 2018-10-25 16:45:15 +01:00
Ryan 'Swingflip' Hamlin a45f3a2d59 Added MadMonkey's compression (and the fixes) 2018-10-25 16:30:07 +01:00
Ryan 'Swingflip' Hamlin e83ccbafe2 Updated version and updated clean for A7A7 2018-10-25 14:20:20 +01:00
Ryan 'Swingflip' Hamlin c3bfab9285 Finished up Classic Platform (hopefully) 2018-10-25 13:47:22 +01:00
Ryan 'Swingflip' Hamlin 5da7494bfc whoops 2018-10-25 13:15:41 +01:00
Ryan 'Swingflip' Hamlin 75008d0a22 Added Optimisation for A7A7 and fixed Classic platform 2018-10-25 13:11:55 +01:00
Twinaphex 86434d8e18 Merge pull request #7483 from natinusala/libnx-multitouch
libnx: add multitouch to input driver
2018-10-24 17:27:54 +02:00
natinusala ce873906fc libnx: add multitouch to input driver 2018-10-24 17:23:22 +02:00
twinaphex 07c45cadd1 Only display CRT SwitchRes settings if video display server is
implemented
2018-10-24 04:49:53 +02:00
twinaphex 183aede716 Update CHANGES.md 2018-10-24 04:44:29 +02:00
twinaphex 49b657fce2 Menu Font Green/Blue Color can now be manipulated with the GUI 2018-10-24 04:42:58 +02:00
Ryan 'Swingflip' Hamlin eff5914fa2 Forgot the new brand name lol. 2018-10-23 17:28:23 +01:00
Ryan 'Swingflip' Hamlin 63d44c0ebc Added cleanup to A7A7 2018-10-23 17:17:07 +01:00
Ryan 'Swingflip' Hamlin a8cb30b9c5 Static compiling of ARMv7 CortexA7 2018-10-23 17:16:15 +01:00
Ryan 'Swingflip' Hamlin 93ac62012d Cleaned up ARMV7A7 2018-10-23 16:55:23 +01:00
Ryan 'Swingflip' Hamlin 8d883bda4b Removed old hakchi platform 2018-10-23 16:49:11 +01:00
Ryan 'Swingflip' Hamlin ccceabc541 Added Makefile.classic_armv7_a7 2018-10-23 16:43:28 +01:00
Ryan 'Swingflip' Hamlin 899da1b87c Merge pull request #1 from libretro/master
Rebase
2018-10-23 16:35:49 +01:00
twinaphex c17135df3e Revert "Use sceCtrlIsMultiControllerSupported to detect"
This reverts commit ef10b7897d.
2018-10-23 02:42:06 +02:00
Twinaphex 805f159154 Merge pull request #7476 from stuartcarnie/sgc-cocoa-events
fix(cocoa): Use RApplication for OpenGL
2018-10-22 17:36:40 +02:00
Stuart Carnie 1e6503c0d9 fix(cocoa): Use RApplication for OpenGL 2018-10-21 15:57:05 -07:00
twinaphex e5b9ca5187 Silence code warnings 2018-10-21 05:43:23 +02:00
twinaphex 726de8e447 Apply diff to fix #6382 2018-10-21 05:40:50 +02:00
Twinaphex 0abb93228e Merge pull request #7458 from gblues/master
Capture CRC content for deferred-loading cores
2018-10-20 22:13:54 +02:00
Twinaphex 35b9167c60 Merge pull request #7468 from alfrix/unused
Fix Wunused complains
2018-10-20 22:13:02 +02:00
Twinaphex 83dca0ad0a Merge pull request #7470 from DEX357/patch-21
Update msg_hash_pl.h
2018-10-20 22:12:45 +02:00
DEX357 365fb4b4eb Update msg_hash_pl.h 2018-10-20 20:36:59 +02:00
Alfrix d5c56e4601 Rework sublabels to avoid the unhelpful enable/disable 2018-10-20 14:29:28 -03:00
Alfrix 82c3103f82 Fix Wunused complains 2018-10-20 09:50:06 -03:00
twinaphex 882a25326c Add ctr to the list too 2018-10-20 03:05:22 +02:00
Alfrix 605113a20a Remove input from main labels at the input menu 2018-10-19 10:11:28 -03:00
Alfrix 50880e6435 Remove audio from main labels at the audio menu 2018-10-19 10:01:35 -03:00
Alfrix cb7df5a665 Remove driver from main labels at the driver menu 2018-10-19 09:50:21 -03:00
Alfrix d2f472ba7a Rework some sublabels 2018-10-19 09:42:22 -03:00
Alfrix e2dd2c2d69 Remove Enable from main labels 2018-10-19 09:28:44 -03:00
Twinaphex 7f2e21de81 Merge pull request #7459 from lambolighting/master
Update Greek Translation
2018-10-19 07:45:10 +02:00
Twinaphex 342ae6e68d Merge pull request #7462 from stuartcarnie/sgc-cocoa-events
fix(cocoa): Move sendEvent implementation to RAWindow
2018-10-19 07:44:54 +02:00
Twinaphex 222e5faab8 Update CHANGES.md 2018-10-19 07:44:35 +02:00
Twinaphex a1bc9805ce Update CHANGES.md 2018-10-19 07:44:24 +02:00
twinaphex c55e65c895 Change this to vita2d 2018-10-19 07:41:41 +02:00
Stuart Carnie ab1242f368 fix(cocoa): Move sendEvent implementation to RAWindow
Introduced independent Info_Metal.plist and MainMenu_Metal.xib files,
to avoid breaking earlier builds.
2018-10-18 19:03:10 -07:00
Nathan Strong dc18196844 get rid of TODO 2018-10-18 16:44:30 -07:00
Nathan Strong d03c0be71d Rewrite file hasher to limit amount hashed
== DETAILS
Since the content file could potentially be huge, hashing the
whole thing at runtime may take a really long time. Plus, it
was loading the whole file into RAM at once.

Now, we only load 1MB at a time and hash up to the first 64MB.

== TESTING
I don't have any large content files to test it with, but I
tested it with a small one and confirmed that the hash was
correct.
2018-10-18 16:38:02 -07:00
Twinaphex 6ad2727835 Merge pull request #7461 from Themaister/master
Vulkan: Keep enable state the same after loading new overlay.
2018-10-19 00:45:14 +02:00
Themaister 66e7c73193 Keep enable state the same after loading new overlay. 2018-10-18 23:37:45 +02:00
LamboLighting 5353e29afa Update intl/msg_hash_el.h 2018-10-18 22:57:11 +03:00
Nathan Strong edacf67e75 Capture CRC content for deferred-loading cores
== DETAILS

Fixes a bug where content CRC32 is not calculated when content loading
is done by the core instead of libretro. This impacts the ability to
do accurate content matching on netplay.

This notably affects MAME, but is by no means limited to MAME.

Change summary:
- adds a method to the crc32 implementation that calculates crc32 for
  a file (as opposed to an in-memory buffer)
- fix a minor bug that would print the "core will load its own content"
  right before attempting to load compressed content
- in the actual "core will load its own content" path, calculate the CRC32
  and log it before returning

== TESTING
Tested locally on OSX:
- loaded content
- started netplay
- confirmed CRC showing in netplay data
- verified CRC32 against external crc32 tool
2018-10-18 11:26:45 -07:00
Twinaphex ad87112cfc Merge pull request #7454 from stuartcarnie/sgc-fix-events
Suppress event propagation when event is not for main RA window
2018-10-18 07:43:00 +02:00
Stuart Carnie ca0c1533e3 fix(cocoa): Suppress event propagation when event is not for RA window
This is required when the Qt window is focused.

Ideally, event handling should be reviewed and refactored such that this
hack is not necessary.
2018-10-17 22:39:45 -07:00
twinaphex 0957017a32 Update Dutch localization 2018-10-18 05:49:58 +02:00
Twinaphex af88f0ccb2 Merge pull request #7453 from stuartcarnie/sgc-fix-quit
fix: Post CMD_EVENT_QUIT directly to command event queue
2018-10-18 04:38:54 +02:00
Stuart Carnie 9370123133 fix: Post CMD_EVENT_QUIT directly to command queue 2018-10-17 19:36:18 -07:00
Twinaphex aaafa18235 Merge pull request #7452 from meleu/patch-4
added cheevos console ID for atari7800
2018-10-17 21:48:00 +02:00
meleu 87467be496 added cheevos console ID for atari7800 2018-10-17 16:37:41 -03:00
twinaphex 421e6178e5 Buildfix 2018-10-17 18:20:01 +02:00
Twinaphex f11bc8304c Merge pull request #7449 from gblues/master
Rewrite content search task
2018-10-17 07:54:00 +02:00
Twinaphex 697d8a3ba4 Update CHANGES.md 2018-10-17 07:42:01 +02:00
Nathan Strong 0abe42d9a4 Rewrite content search task
== DETAILS

In attempting to identify where netplay lobby errors were occuring,
I found that the code which does the content search was pretty messy,
so I've cleaned it up.

- Search is now more efficient. Playlists are only iterated over once,
  instead of twice.
- Error messages are more helpful
- Eliminated goto abuse
- code is easier to follow and has comments describing the logical
  flow.

== TESTING
Tested lightly locally, although hard to test thoroughly due to tight
netplay requirements.
2018-10-16 22:40:13 -07:00
twinaphex 3d731aec19 Call network_init before processing the network information list 2018-10-17 07:36:46 +02:00
twinaphex 63eff7f236 Create menu_animation_get_delta_time 2018-10-17 06:55:49 +02:00
twinaphex 4692e95fd8 Refactor 'kill by tag' and 'kill by subject' 2018-10-17 06:49:24 +02:00
twinaphex ebd8e5bbc2 Cleanup 2018-10-17 06:20:22 +02:00
twinaphex cf9341f2ea Update libretro-common 2018-10-17 05:45:43 +02:00
Twinaphex e3e4abf846 Remove some unused variables 2018-10-17 05:44:05 +02:00
twinaphex 5017063a7e Fix stripes.c 2018-10-17 05:34:59 +02:00
twinaphex 131d77875e Create menu_displaylist_setting 2018-10-17 05:33:22 +02:00
Twinaphex 927c65a1ba Update CHANGES.md 2018-10-17 04:57:47 +02:00
Twinaphex 0c3ad40249 Merge pull request #7446 from Themaister/master
Fix RGUI regression on Vulkan.
2018-10-16 23:40:54 +02:00
Themaister 3f41cd533b Fix RGUI regression on Vulkan. 2018-10-16 23:29:17 +02:00
Twinaphex b804c087fe Merge pull request #7445 from Tatsuya79/patch-6
Menu driver fallback: don't change menu for null video driver
2018-10-16 19:20:49 +02:00
Tatsuya79 d0e083ac18 Menu driver fallback: don't change menu for null video driver 2018-10-16 19:14:19 +02:00
Brad Parker a92a27a230 gdi: ignore menu_shader_pipeline setting 2018-10-16 10:30:57 -04:00
Twinaphex 2aefc7af1c Merge pull request #7443 from alfrix/master
Move Privacy settings to User
2018-10-16 04:43:36 +02:00
Alfrix 6338039ac0 Move Privacy settings to User 2018-10-15 22:32:03 -03:00
twinaphex 778c3fff73 (GL) Use shader_driver directly 2018-10-15 06:47:18 +02:00
twinaphex 9e90316da9 CXX_BUILD fixes 2018-10-15 04:01:11 +02:00
twinaphex 7717631909 Buildfix 2018-10-15 03:38:43 +02:00
twinaphex 9f74b05b13 Add HAVE_QT ifdefs 2018-10-15 03:38:15 +02:00
twinaphex 9e2d688e1d Get rid of video_context_driver_get_context_data 2018-10-15 01:27:18 +02:00
Twinaphex d854ba5c05 Merge pull request #7386 from fr500/master
force fast-save-states while netplay is enabled
2018-10-14 21:30:57 +02:00
Twinaphex cabb39fc2c Merge pull request #7438 from RetroSven/master
extend cheat searching to accommodate multiple memory pointers
2018-10-14 21:24:12 +02:00
Sven 1dcc292f41 Merge remote-tracking branch 'upstream/master' 2018-10-14 14:26:14 -04:00
Sven b48768c023 extend cheat searching to accommodate multiple memory pointers 2018-10-14 14:25:44 -04:00
Twinaphex aea73403ce Merge pull request #7437 from stuartcarnie/sgc-qt-deploy
feat(Qt): Use macdeployqt to embed Qt frameworks and plugins to .app bundle
2018-10-14 20:12:24 +02:00
Stuart Carnie 35620ffe47 feat(Metal): Add support for screen shots 2018-10-14 11:07:57 -07:00
twinaphex 6b03a95b8d Cleanup 2018-10-14 20:04:29 +02:00
twinaphex 454761a6ed Get rid of video_context_driver_bind_hw_render 2018-10-14 19:49:24 +02:00
twinaphex 2edd03361c Remove video_context_driver_check_window 2018-10-14 17:49:29 +02:00
Twinaphex d58dc3186d Merge pull request #7436 from lambolighting/master
Update Greek Translation
2018-10-14 16:45:17 +02:00
LamboLighting d4861e0952 More Greek translations and some fixes
More things translated and fixed some spelling mistakes from the previous commit.
2018-10-14 15:06:35 +03:00
waitingmoon 4e99132e23 Update JP translation (#7407)
* Update JP translation (Video and Audio)

* Update JP translation (Main Menu, Settings)

* Update JP translation (Netplay, Import)

* minor change

* Change システム to 全般

* Change 全般 to メイン (refrect 5ch users opinion)

* restore explanation of non-windowed fullscreen mode
2018-10-14 04:41:51 -04:00
twinaphex c73d13d4bc Don't use video_context_driver_check_window anymore - go call it
directly
2018-10-14 08:40:00 +02:00
twinaphex 448d2d333c Set ctx_driver 2018-10-14 08:22:26 +02:00
twinaphex e661cf3cfd Rewrite video_context_driver_init_first 2018-10-14 08:13:05 +02:00
twinaphex 2bca74bbaa Fix this 2018-10-14 08:00:42 +02:00
twinaphex 24e18fcce6 Simplify video_context_driver_init_first 2018-10-14 07:59:43 +02:00
twinaphex 4d6dfd163d Remove unused function 2018-10-14 06:00:26 +02:00
Twinaphex 2e67f4f02c Merge pull request #7435 from fr500/lanrooms
start registering the application so it can be started from discord
2018-10-14 04:25:18 +02:00
radius bf7c3f17b3 start registering the application so it can be started from discord 2018-10-13 21:09:19 -05:00
Twinaphex f0494a5645 Merge pull request #7434 from fr500/lanrooms
make discord app id configurable
2018-10-14 01:18:34 +02:00
radius 32c346a3e7 make discord app id configurable 2018-10-13 18:17:17 -05:00
Twinaphex 6662456e02 Merge pull request #7399 from fr500/cheevos
[cheevos] autoload state may kick in before achievements are loaded, …
2018-10-13 23:44:34 +02:00
Twinaphex b38f21dcc3 Merge pull request #7433 from fr500/lanrooms
fix these two
2018-10-13 23:44:19 +02:00
radius 8c9e6a7c4e fix these two 2018-10-13 16:31:58 -05:00
Twinaphex dbe35078dd (Mojave) have to bump up deployment target to OSX 10.6 2018-10-13 22:07:34 +02:00
twinaphex 84948c9b8b Backport orbea commits - don't unload content if it was never loaded -
don't deinit core when they are not inited - sorry for the long delays
2018-10-12 23:12:06 +02:00
twinaphex 4a67dd8d02 Buildfix 2018-10-12 21:31:59 +02:00
Twinaphex bd7656a80f Merge pull request #7422 from ayssia/master
Update Simplified Chinese Localization
2018-10-12 19:39:04 +02:00
Twinaphex 81fdcff708 Merge pull request #7425 from altiereslima/master
Update intl/msg_hash_pt_br.h
2018-10-12 19:38:52 +02:00
altiereslima 56a69b073f Update intl/msg_hash_pt_br.h 2018-10-12 14:15:02 -03:00
twinaphex ba020720db Add HAVE_NETPLAYDISCOVERY 2018-10-12 18:29:52 +02:00
Twinaphex 264c1ee381 Merge pull request #7424 from natinusala/libnx-network-info
libnx: add network interfaces info
2018-10-12 17:47:27 +02:00
natinusala eac0d603f4 libnx: add network interfaces info 2018-10-12 17:37:03 +02:00
Ayssia 92eb209c6f Minor Fix 2018-10-12 13:51:43 +08:00
Ayssia 7dd05d4750 Minor Fix 2018-10-12 13:10:44 +08:00
Twinaphex 75485e79a0 Merge pull request #7418 from fr500/lanrooms
enable local room discovery on WiiU
2018-10-12 03:27:51 +02:00
radius 8daff7e3da force fast-save-states while netplay is enabled 2018-10-11 20:18:40 -05:00
radius e1227b2d68 enable local room discovery on WiiU 2018-10-11 20:15:50 -05:00
twinaphex b8cb3fd4a7 (CHANGES.md) Update 2018-10-12 01:38:12 +02:00
Twinaphex 9e03e396ab Merge pull request #7414 from ayssia/master
Update simplified Chinese localization
2018-10-12 01:37:38 +02:00
Twinaphex 58f8c2eddb Merge pull request #7416 from lambolighting/master
(Language) Greek Translation of RetroArch - WIP
2018-10-12 01:35:20 +02:00
Twinaphex 58443cafe5 Merge pull request #7417 from gblues/master
WiiU: fix network information
2018-10-12 01:11:24 +02:00
Twinaphex 50682c9a46 Merge pull request #7014 from mickski56/master
address #6920 Proper analog trigger support
2018-10-12 01:08:39 +02:00
Nathan Strong c5f9fc0a34 WiiU: fix network information
== DETAILS

For local netplay, it's useful to have your IP address easily
available. This commit makes the Information > Network Information
menu display the Wii U's IP address.

Change summary:
- Fix the logging init to be reentrant to avoid socket consumption
- Add implementation of POSIX `getifaddrs()` and `freeifaddrs()`
  to `missing_libc_functions.c`
- Remove compiler directives protecting the code paths that call
  `getifaddrs()` from being used in Wii U builds

== TESTING

Have tested locally, successfully get IP address information in
the Information > Network Information.

I think this may also fix NAT traversal. Will need to be tested.
2018-10-11 15:37:15 -07:00
LamboLighting 8509132ebd (Language) Greek translation of RetroArch
First steps of the translation.
Still a WIP. Most of the menu labels have been translated. Lots of sublabels still need translation.
2018-10-12 01:22:33 +03:00
Ayssia 7d0b041bfa Fix duplicate line 2018-10-11 18:52:26 +08:00
Ayssia 7059f2b645 Major update by @loverlf 2018-10-11 18:48:36 +08:00
twinaphex 85c1de7d3a Cleanups 2018-10-11 05:05:21 +02:00
Twinaphex 21e39c0389 Cleanups 2018-10-11 05:00:49 +02:00
Ayssia 5d6c4c3a46 Minor fix & Multiline formatting 2018-10-11 10:55:56 +08:00
twinaphex 75f8e2e7a1 Revert 2018-10-11 03:52:38 +02:00
twinaphex 08e8fa3144 This shouldn't return false 2018-10-11 03:38:50 +02:00
twinaphex 49a3514147 Revert "Revert "bugfix cheat saving""
This reverts commit 9862579610.
2018-10-11 03:27:06 +02:00
twinaphex c443d6b475 Revert "Revert this - was getting crashes in both OSX and MSVC 2003"
This reverts commit 7d0dba3007.
2018-10-11 03:26:58 +02:00
twinaphex 0782c3c820 Cleanups 2018-10-11 03:26:39 +02:00
Twinaphex 77f508dccb Merge pull request #7411 from fr500/presets
fix auto shader preset loading in d3d10, d3d11, d3d12
2018-10-11 02:34:12 +02:00
radius 454efe03dc fix auto shader preset loading in d3d10, d3d11, d3d12 2018-10-10 19:02:36 -05:00
Brad Parker 2517670f80 gdi: remove unused variable 2018-10-10 17:54:38 -04:00
twinaphex 7d0dba3007 Revert this - was getting crashes in both OSX and MSVC 2003
in config_file.c inside config_get_entry
2018-10-10 23:34:16 +02:00
twinaphex 9862579610 Revert "bugfix cheat saving"
This reverts commit 4c3b06d640.
2018-10-10 23:27:19 +02:00
Twinaphex e9752fb546 Merge pull request #7409 from gblues/master
wiiu: small cleanup
2018-10-10 21:13:28 +02:00
Nathan Strong d3f8d8a08d wiiu: small cleanup
== DETAILS
- remove extraneous '+' from a manually applied diff
- fix the net_listen.sh script so it works properly on
  Mac OSX

== TESTING
Works locally.
2018-10-10 11:38:03 -07:00
twinaphex d32b08b0f4 Add split joycon settings 2018-10-10 20:31:55 +02:00
twinaphex 192d1f6dd4 Updates 2018-10-10 20:17:33 +02:00
twinaphex c2112c4cbf Commit this diff patch by gblues 2018-10-10 20:15:31 +02:00
Twinaphex f00f2e3ccf Merge pull request #7169 from GregorR/wii-u-netplay-fix
Fix netplay on Wii U
2018-10-10 20:14:24 +02:00
Twinaphex 6aba49f60f Merge pull request #7408 from ayssia/master
Update Simplified Chinese Localization
2018-10-10 19:57:05 +02:00
Ayssia eddf441a2a Minor Fix 2018-10-11 01:52:36 +08:00
Ayssia 1bda769fab Update Simplified Chinese Localization 2018-10-11 01:51:18 +08:00
twinaphex 5b4473b948 Create gl_set_core_context 2018-10-10 18:24:41 +02:00
twinaphex c3c169aeab Add this 2018-10-10 18:08:13 +02:00
Twinaphex 8c845a249e Merge pull request #7406 from RetroSven/master
bugfix cheat saving
2018-10-10 17:28:05 +02:00
twinaphex b61c67b5c6 Don't have GDI fallback to rgui 2018-10-10 17:17:02 +02:00
Sven 46d147ee95 Merge remote-tracking branch 'upstream/master' 2018-10-10 11:11:07 -04:00
Sven 4c3b06d640 bugfix cheat saving 2018-10-10 11:10:49 -04:00
Brad Parker 230a7fd7b0 Win95 buildfix 2018-10-10 10:59:49 -04:00
Twinaphex 724e135f27 Merge pull request #7405 from ayssia/master
Update Simplified Chinese Localization
2018-10-10 16:47:39 +02:00
twinaphex f336fa0337 CXX_BUILD fixes 2018-10-10 16:38:13 +02:00
Ayssia 455d0d83f0 Update Simplified Chinese Localization 2018-10-10 22:25:48 +08:00
ayssia 92075da942 Merge pull request #1 from libretro/master
merge libretro master
2018-10-10 22:22:59 +08:00
twinaphex 04cc181771 Cleanups 2018-10-10 16:18:29 +02:00
Twinaphex 1fae526337 Merge pull request #7403 from bparker06/gdi_imp
win32: Improvements to GDI drivers
2018-10-10 16:13:10 +02:00
Brad Parker b9699f4780 gdi: texture load support, fix menu text alignment, support multi-line messages 2018-10-10 09:58:49 -04:00
Twinaphex 1a55492ff1 Merge pull request #7402 from RetroSven/master
fix new rumble types ; increase max displayed cheats to 6000
2018-10-10 15:26:59 +02:00
Sven 30d4df7634 Merge remote-tracking branch 'upstream/master' 2018-10-10 09:16:39 -04:00
Sven f53e1ca4b1 fix new rumble types ; increase max displayed cheats to 6000 2018-10-10 09:15:46 -04:00
twinaphex 641d593216 Add note 2018-10-10 05:32:00 +02:00
twinaphex 4ed151fb35 Cleanups - don't set core profile bit immediately 2018-10-10 05:30:50 +02:00
twinaphex a31cf3c868 Bake in MD5 2018-10-10 04:49:40 +02:00
twinaphex b46ce0dec9 Buildfix 2018-10-10 04:36:53 +02:00
twinaphex d1022d9040 Cleanups 2018-10-10 04:32:36 +02:00
twinaphex 13a0274f57 Localize some strings 2018-10-10 04:25:11 +02:00
twinaphex f1c5b268ca Hide Quick Menu properly 2018-10-10 04:00:51 +02:00
radius 6dc8862220 [cheevos] autoload state may kick in before achievements are loaded, disable autoload state altogether if cheevos hardcode is enabled 2018-10-09 19:07:05 -05:00
twinaphex 1b1a0c8d27 Stub this out for GEKKO 2018-10-10 02:01:34 +02:00
Twinaphex 2a46d73c95 Merge pull request #7397 from alfrix/master
Use subsetting as placeholder icon until themes are updated
2018-10-10 01:45:46 +02:00
Alfrix 304b4f3f57 Use subsetting as placeholder until themes are updated 2018-10-09 20:31:19 -03:00
Twinaphex 1ffcd2795a Merge pull request #7396 from alfrix/master
WIP New Netplay icons
2018-10-10 01:13:41 +02:00
Twinaphex 26e88c6af0 Merge pull request #7395 from meepingsnesroms/master
Disable all the non working defines for 3DS
2018-10-10 01:13:25 +02:00
Alfrix fa03a634d0 New Netplay icons 2018-10-09 19:52:28 -03:00
meepingsnesroms 96b8099015 Disable all the non working defines for 3DS
The network stuff I started implementing and never finished and the threads are broken for an unknown reason.

This basicly just disabled the menu options associated with these things as none of them are currently working
2018-10-09 15:44:03 -07:00
twinaphex c02536af08 Roll all this back 2018-10-09 20:42:47 +02:00
Twinaphex 28b18fe4c2 Merge pull request #7394 from flyinghead/fh/nogl-fix
Do not force the requested hw context to be Open GL
2018-10-09 20:37:45 +02:00
flyinghead 8d586e1a0c Do not force the requested hw context to be Open GL 2018-10-09 20:31:40 +02:00
Twinaphex 8bd0c84e03 Merge pull request #7392 from flyinghead/fh/gl4-reinit-fix
Update the rendering context with the GL version whether it is a core context
2018-10-09 19:45:42 +02:00
flyinghead c11e47b08a Checking for core context returns an error in GL3
This error should be ignored.
Mac build fix
2018-10-09 19:27:55 +02:00
Flyinghead d4815084ec Update the rendering context with the GL version whether it is a core context 2018-10-09 17:58:36 +02:00
twinaphex a27bce38cd Simplify gl_get_context 2018-10-09 16:46:40 +02:00
twinaphex f277489efc Comment out pthread attr for 3DS 2018-10-09 15:35:39 +02:00
twinaphex 0b3ac4e39d Fix C++ comment 2018-10-09 15:28:09 +02:00
Twinaphex d191517ac5 Merge pull request #7388 from ayssia/master
Update Simplified Chinese localization
2018-10-09 15:26:29 +02:00
Ayssia 1fab4cfd2b Fix typo 2018-10-09 21:17:13 +08:00
Ayssia 7f0c73f67a Update Simplified Chinese localization 2018-10-09 14:57:24 +08:00
waitingmoon a49253cb6e Update JP translation (#7371)
* Update JP translation

* Update msg_hash_ja.h
2018-10-08 23:30:01 -04:00
Brad Parker 262634739c xmb: increase sublabel size limit to handle longer strings (especially CJK languages) 2018-10-08 23:29:17 -04:00
twinaphex 0d699208d3 Update rthreads 2018-10-09 03:55:34 +02:00
twinaphex 521b978d31 Add sthread_create_with_priority - missing functionality from desmume
rthreads implementation
2018-10-09 03:43:34 +02:00
Twinaphex dc36691f2c Update CHANGES.md 2018-10-09 01:31:30 +02:00
Twinaphex 6cf0f1b08c Update CHANGES.md 2018-10-09 01:27:20 +02:00
Twinaphex 0309d62bc9 Merge pull request #7377 from WerWolv98/master
Updated German translation
2018-10-09 01:25:57 +02:00
Twinaphex a6cd8abb90 Merge pull request #7381 from ayssia/master
Update Simp. Chinese Localization
2018-10-09 01:25:43 +02:00
twinaphex 4468671cef Go back to this version by radius - the other one didn't work 2018-10-09 01:15:47 +02:00
twinaphex 1bd91193fd (Menu) All the ident names should be identical to the video driver ident names 2018-10-09 01:05:46 +02:00
twinaphex 57adfe0141 (WIIU) menu_display_wiiu.c should have the same ident name as the video driver 2018-10-09 01:03:29 +02:00
Twinaphex 4c8e0c808a Merge pull request #7385 from alfrix/master
Update PS3 icon
2018-10-08 21:48:03 +02:00
Alfrix 2ef314e27d Update PS3 icon 2018-10-08 16:39:04 -03:00
twinaphex 508e5efdd7 Revert "Should hopefully fix Reicast issues"
This reverts commit 509ecab3fe.
2018-10-08 18:54:26 +02:00
twinaphex 509ecab3fe Should hopefully fix Reicast issues 2018-10-08 15:39:00 +02:00
Twinaphex 22dafd6251 Merge pull request #7383 from natinusala/nx-input-capabilities
switch_input: add pointer capabilities for libnx
2018-10-08 14:39:26 +02:00
natinusala 57db04b389 switch_input: add pointer capabilities 2018-10-08 14:36:03 +02:00
Ayssia a2548288b3 Update Simplified Chinese Localization 2018-10-08 17:15:22 +08:00
Ayssia 6748efe020 Fix duplicate line 2018-10-08 11:44:49 +08:00
Ayssia ec793c7955 Update Simp. Chinese Localization 2018-10-08 11:40:22 +08:00
Ayssia 4abc718f05 Update Simp. Chinese Localization 2018-10-08 11:17:48 +08:00
twinaphex 247b21b151 (platform_switch.c) Set retro_rating level to 11 - some minor
cleanups
2018-10-08 04:20:07 +02:00
WerWolv f35ee6c0c1 Updated German translation 2018-10-07 22:32:41 +02:00
Twinaphex 58dac5c0a5 Merge pull request #7375 from ayssia/master
Update Simplified Chinese Localization
2018-10-07 14:32:42 +02:00
Ayssia 7771b0db10 Fix typo 2018-10-07 14:00:27 +08:00
Ayssia 5b92570f50 Update Simplified Chinese Localization 2018-10-07 12:00:09 +08:00
Ayssia cb9ff15cc4 Update Simplified Chinese Localization 2018-10-07 10:47:31 +08:00
twinaphex 4d8a3db02f (iOS) Fix issue https://github.com/libretro/RetroArch/issues/7298#issuecomment-427618317 2018-10-07 04:33:06 +02:00
Twinaphex c29654b504 Merge pull request #7332 from grimpunch/master
Date Time setting for AM:PM as an option
2018-10-07 02:31:21 +02:00
Ayssia 8269d6837c Update Simplified Chinese Localization 2018-10-07 01:33:42 +08:00
Stuart Carnie 4240c895bf fix(macOS/Qt): Rename produce RetroArchQT → RetroArch (#7374) 2018-10-06 12:27:53 -04:00
twinaphex c496657556 Fix issue with GL 2018-10-06 17:52:03 +02:00
twinaphex 7260e52a23 Make improved version of this - https://github.com/libretro/RetroArch/pull/7350/commits/873d60151fb7ff88fca5353a02b498dff7fc964b 2018-10-06 17:48:12 +02:00
twinaphex 50eb4adc4b (libnx) Use audio_switch_thread by default 2018-10-06 17:35:52 +02:00
twinaphex cf5b8a5fca (libnx) Enable threaded video by default 2018-10-06 17:34:35 +02:00
twinaphex 31ba215c94 Update GLSM 2018-10-06 17:05:06 +02:00
twinaphex 9b68aa23a9 (libnx) Add HAVE_LANGEXTRA 2018-10-06 16:30:55 +02:00
Twinaphex d628e01247 Merge pull request #7373 from natinusala/lakka-switch
Added Lakka Switch menu entries + translations + default config
2018-10-06 15:53:33 +02:00
natinusala 8250007b8e Added Lakka Switch menu entries 2018-10-06 15:44:37 +02:00
twinaphex f1e7e0c5f7 Update GLSM 2018-10-06 15:40:48 +02:00
twinaphex 22424fce0f Update libretro-common 2018-10-06 15:16:33 +02:00
twinaphex 1cb4a0a34f Update 2018-10-06 15:15:37 +02:00
Twinaphex 088a7ed60d Merge pull request #7372 from gvbr/build
Fix error when compiling without cheevos
2018-10-06 14:05:24 +02:00
gvbr f11bb03825 Fix error when compiling without cheevos 2018-10-06 04:37:37 -07:00
twinaphex 09c8e52387 Cleanups 2018-10-06 04:23:57 +02:00
twinaphex f94d7e07af Cleanups 2018-10-06 04:20:54 +02:00
twinaphex 653544d4c3 Cleanups 2018-10-06 04:13:58 +02:00
twinaphex 944ca22d76 Localize some strings 2018-10-06 04:11:01 +02:00
Christian Murphy 61285cfd4b Merge pull request #1 from bparker06/ampm_mb
convert AM/PM string from local encoding to utf8
2018-10-06 02:21:19 +01:00
Twinaphex 41de006be6 Update CHANGES.md 2018-10-06 02:58:03 +02:00
Brad Parker 7366a46bc2 convert AM/PM string from local encoding to utf8 2018-10-05 19:02:50 -04:00
=Christian Murphy 017d1b710e Restore default time mode, replace non-sensical time date formats with more commonly used ones 2018-10-05 23:11:38 +01:00
Dan Weiss 75a1ea749b Fix missing BOM markers (#7367) 2018-10-04 19:42:41 -04:00
Twinaphex 1b96d82cf2 Merge pull request #7366 from casdevel/midi
Add ALSA MIDI driver
2018-10-04 23:34:39 +02:00
Zoran Vuckovic c1662ded34 Add ALSA MIDI driver 2018-10-04 21:48:11 +02:00
waitingmoon cdea2a0ba6 Update msg_hash_ja.h (#7363) 2018-10-04 13:34:04 -04:00
twinaphex 4206d7ac8a Silence warnings 2018-10-04 16:40:47 +02:00
twinaphex 57c77a9a28 Silence more warnings 2018-10-04 16:32:40 +02:00
twinaphex 0ba8597041 Cleanups/silence warnings 2018-10-04 16:24:10 +02:00
Twinaphex 295e39300c Update CHANGES.md 2018-10-04 05:46:36 +02:00
Twinaphex 982c3df480 Update CHANGES.md 2018-10-04 05:45:21 +02:00
Twinaphex 34ed72fcd0 Update CHANGES.md 2018-10-04 05:44:26 +02:00
Twinaphex 532e815e32 Update CHANGES.md 2018-10-04 05:43:42 +02:00
Twinaphex a4834270fc Merge pull request #7315 from waitingmoon/patch-4
Update msg_hash_ja.h
2018-10-04 02:15:50 +02:00
Twinaphex c7b7661340 Merge branch 'master' into patch-4 2018-10-04 02:15:17 +02:00
Twinaphex 212c3b399d Merge pull request #7361 from rsn8887/master
[SWITCH] Use proper button labels
2018-10-04 02:10:37 +02:00
rsn8887 827aa4936a [SWITCH] Use proper button labels 2018-10-03 18:50:33 -05:00
Twinaphex a7e96cd9d4 Merge pull request #7357 from theheroGAC/patch-37
Update msg_hash_it.h
2018-10-03 21:38:18 +02:00
Twinaphex 43bbb5b231 Merge pull request #7349 from RetroSven/master
fix gdi scanning
2018-10-03 21:38:00 +02:00
theheroGAC 748bc6cf4d Update msg_hash_it.h 2018-10-03 21:05:16 +02:00
Twinaphex 1924673700 Merge pull request #7356 from natinusala/libnx-touch2
libnx: improve touch scaling calc
2018-10-03 20:43:40 +02:00
natinusala a5f122a84e libnx: improve touch scaling calc 2018-10-03 18:50:36 +02:00
Brad Parker 826c77d523 style cleanup 2018-10-02 16:56:40 -04:00
waitingmoon cf939aefe2 Update msg_hash_ja.h
minor change
2018-10-03 04:50:05 +09:00
Sven b6aec689fe Merge remote-tracking branch 'upstream/master' 2018-10-02 15:16:05 -04:00
Sven fc40e6ac85 fix gdi scanning - database only contains crcs for track 1 - so do not try to find largest track - just stop on track 1 2018-10-02 15:15:45 -04:00
Sven 7271cba7f0 do not display applying cheat message unless there are actually cheats (#7348)
* do not display applying cheat message unless there are actually cheats

* code style

* style
2018-10-02 14:10:17 -04:00
twinaphex 64b2e6ea5f Update platform_unix.c 2018-10-02 20:08:23 +02:00
Sven ce8dc3634f style 2018-10-02 14:06:40 -04:00
Sven 4d0547adcd code style 2018-10-02 14:03:59 -04:00
Sven c204d7b33f do not display applying cheat message unless there are actually cheats 2018-10-02 13:58:58 -04:00
Twinaphex 075a5eff5a Update CHANGES.md 2018-10-02 19:13:21 +02:00
=Christian Murphy 940a03f552 Linux friendly datetime locale settings, slightly less friendly datetime locale settings for Windows 2018-10-01 23:32:54 +01:00
twinaphex c9c6c5a5a6 Bump up APK codes 2018-10-01 21:45:07 +02:00
twinaphex a70057a5c8 Update CHANGES.md 2018-10-01 21:42:43 +02:00
twinaphex bba6f438cf Cleanups; set pointer_enable for libnx 2018-10-01 21:42:05 +02:00
Twinaphex 8fc474e8c5 Merge pull request #7344 from natinusala/libnx-touch
libnx: added touch support
2018-10-01 21:38:01 +02:00
natinusala fef4448ddb libnx: added touch support 2018-10-01 21:22:21 +02:00
Twinaphex 997ff1968f Merge pull request #7343 from m4xw/libnx
[LIBNX] Split non-inline functions from the header, increase stack
2018-10-01 21:18:04 +02:00
M4xw b8ec926078 [LIBNX] Split non-inline functions from the header, increase stack 2018-10-01 21:12:59 +02:00
twinaphex 0ed42e2920 Add some more to CHANGES.md 2018-10-01 17:52:24 +02:00
Twinaphex 30ee9d4a3d Update CHANGES.md 2018-10-01 17:20:28 +02:00
Twinaphex bef0127348 Merge pull request #7342 from natinusala/libnx-cheevos
libnx: enable cheevos
2018-10-01 17:18:11 +02:00
natinusala eb6d384798 libnx: enable cheevos 2018-10-01 16:38:34 +02:00
twinaphex 983c234a3e Update libretro.h 2018-10-01 16:23:08 +02:00
twinaphex 7a72619eff Update libretro-common 2018-10-01 15:50:41 +02:00
twinaphex 3dcefa9316 Update libretro.h 2018-10-01 15:49:54 +02:00
twinaphex ac14ea6d01 Go back to old cheevos 2018-10-01 15:02:51 +02:00
Brad Parker ead5b2c0f7 doxygen: quiet output 2018-09-30 23:37:45 -04:00
twinaphex 85ed60cf9a Cleanups 2018-10-01 03:46:12 +02:00
twinaphex fa1096a604 Warning fix 2018-10-01 03:43:53 +02:00
twinaphex 3ec182110a Buildfix 2018-10-01 03:42:54 +02:00
twinaphex 2c546597b4 Don't bake in cheevos for C89 for now until issues are fixed 2018-10-01 03:33:54 +02:00
twinaphex 072848445c Fix some C89_BUILD errors 2018-10-01 03:31:13 +02:00
twinaphex f0c684707f Fix C89_BUILD 2018-10-01 03:28:39 +02:00
Twinaphex 1bba09461b Merge pull request #7338 from libretro/emscripten-docs
Add Emscripten compile documentation
2018-10-01 03:24:29 +02:00
twinaphex 4ec5197bc9 Update CHANGES.md 2018-10-01 03:21:11 +02:00
Twinaphex e774faf45d Merge pull request #7339 from RobLoach/stb-truetype-check
Add STB TrueType Support Check
2018-10-01 03:06:56 +02:00
Rob Loach b523b9ec22 Add check for STB TrueType 2018-09-30 20:42:09 -04:00
Rob Loach 5a870f9190 Add language entry for STB TrueType support 2018-09-30 20:38:59 -04:00
Rob Loach db46d91ec6 emscripten: Add Emscripten compile documentation
This adds some documentation about compiling emscripten.
2018-09-30 20:23:05 -04:00
Twinaphex 20cc284d57 Update CHANGES.md 2018-10-01 02:17:28 +02:00
Twinaphex 8548e00503 Merge pull request #7335 from fr500/master
use stb font in emscripten (untested)
2018-10-01 02:15:28 +02:00
twinaphex 7245cb2732 Add Reset To Defaults setting 2018-10-01 02:13:53 +02:00
Twinaphex d4d9ec97a7 Merge pull request #7337 from libretro/coverity_scan
Coverity scan
2018-10-01 02:02:24 +02:00
Twinaphex cd40b26c39 Update CHANGES.md 2018-10-01 02:01:56 +02:00
twinaphex cbcc1a5ef4 Update 2018-10-01 02:00:07 +02:00
twinaphex f457dea880 Don't show Joy-Con Split for non-Switch 2018-10-01 02:00:07 +02:00
twinaphex 60eb45c102 prevent some pointer grabbing 2018-10-01 02:00:07 +02:00
twinaphex 7367407ee4 Update 2018-10-01 01:59:36 +02:00
twinaphex 146f445774 Don't show Joy-Con Split for non-Switch 2018-10-01 01:59:10 +02:00
twinaphex a098ce9fdd prevent some pointer grabbing 2018-10-01 01:54:56 +02:00
Twinaphex 85bf71c0c2 Update CHANGES.md 2018-10-01 01:38:03 +02:00
twinaphex 527228e571 Add L + R Menu toggle 2018-10-01 01:36:53 +02:00
Twinaphex 6847bb8845 Merge pull request #7336 from libretro/switch_nxlink_threading
Switch nxlink threading
2018-10-01 01:31:17 +02:00
lifajucejo 8ad8ec5344 [LIBNX] Removed extraneous logging when blocked in switch_audio 2018-09-30 19:09:20 -04:00
lifajucejo c39bc4ecab [LIBNX] Synchronize nxlink logging
- Logs were interleaved and caused instability on certain setups
2018-09-30 19:09:20 -04:00
twinaphex 77fba6d58d (Vulkan) Silence warning 2018-10-01 00:41:29 +02:00
radius 3c8264e9f2 use stb font in emscripten (untested) 2018-09-30 17:41:24 -05:00
twinaphex 4f2c108088 Add another toggle 2018-10-01 00:21:07 +02:00
Twinaphex c8a764177e Merge pull request #7334 from m4xw/libnx
[LIBNX] Add Split Joycon support
2018-10-01 00:13:16 +02:00
M4xw be85ec4627 [LIBNX] Add Split Joycon support 2018-10-01 00:03:57 +02:00
twinaphex 8cd07ab692 (3DS) Add rcheevos include dir 2018-09-30 23:50:41 +02:00
twinaphex 97e4687f1b Move Split Joy-Con options 2018-09-30 23:49:38 +02:00
twinaphex a3f98a21f8 Add split joycon setting 2018-09-30 23:39:31 +02:00
=Christian Murphy b3cf7150d5 Date Time setting for AM:PM as an option 2018-09-30 18:01:43 +01:00
Twinaphex cb21aa91cc Merge pull request #7331 from RetroSven/master
do not initialize cheat system if memory size is 0 to avoid potential NPE
2018-09-30 18:14:03 +02:00
Brad Parker 4d41488963 Qt: disable item changed signal while populating file browser 2018-09-30 12:05:55 -04:00
Sven 11d2b5c9fb Merge remote-tracking branch 'upstream/master' 2018-09-30 11:44:49 -04:00
Sven adeff434fd do not initialize cheat system if memory size is 0 to avoid potential NPE 2018-09-30 11:44:37 -04:00
Twinaphex 1f3bdde45c Merge pull request #7330 from RetroSven/master
add sublabels to the new cheat options
2018-09-30 16:26:57 +02:00
Sven 9ab3b1715d Merge remote-tracking branch 'upstream/master' 2018-09-30 10:22:57 -04:00
Sven 183d722b56 add sublabels to the new cheat options 2018-09-30 10:22:28 -04:00
waitingmoon 908574f3c4 Update msg_hash_ja.h 2018-09-30 22:23:04 +09:00
Twinaphex 2e562d39e7 Merge pull request #7329 from leiradel/master
Updated rcheevos to 7.1.1
2018-09-30 14:36:25 +02:00
leiradel e3eff970f9 Updated rcheevos to 7.1.1 2018-09-30 13:06:42 +01:00
twinaphex 9387eb559f (MSVC 2017) Fix MSVC 2017 2018-09-30 13:48:58 +02:00
twinaphex 2125f92281 Silence warnings/cleanups 2018-09-30 13:43:56 +02:00
twinaphex 2d652663af (MSVC 2015) Buildfix 2018-09-30 13:41:21 +02:00
twinaphex 4c23fa02e9 (MSVC 2013) Fix build for rcheevos
(MSVC) Fix some warnings; unused variables, etc.
2018-09-30 13:38:58 +02:00
twinaphex ac51c0013c Fix typo 2018-09-30 13:33:53 +02:00
Twinaphex d74fd1e0f7 Merge pull request #7327 from m4xw/libnx_stb
[LIBNX] Enable Stb font
2018-09-30 04:38:54 +02:00
M4xw 373bf932b3 [LIBNX] Enable Stb font 2018-09-30 04:33:00 +02:00
Twinaphex bbdf32cf1e Merge pull request #7326 from m4xw/freetype
[LIBNX] Remove freetype again
2018-09-30 04:14:55 +02:00
M4xw 48056e41fc [LIBNX] Remove freetype again 2018-09-30 04:12:25 +02:00
twinaphex fe8a9d7dc3 Cleanups 2018-09-30 03:09:49 +02:00
twinaphex f4d86ddddc Fix OSX PPC 2018-09-30 02:55:34 +02:00
Twinaphex d9da21f1ff Merge pull request #7325 from m4xw/libnx
[LIBNX] Fix dummy core
2018-09-30 02:35:38 +02:00
M4xw 808368b577 [LIBNX] Fix dummy core 2018-09-30 02:31:38 +02:00
Twinaphex be4557c277 Update CHANGES.md 2018-09-30 01:51:59 +02:00
Twinaphex e63b771fd4 Merge pull request #7324 from RetroSven/master
add cheat variables to allow for updating large portions of memory
2018-09-30 01:51:36 +02:00
twinaphex 4c5638f89d Fix libnx URL 2018-09-30 01:50:29 +02:00
twinaphex de02353983 Update Visual Studio solutions 2018-09-29 21:33:44 +02:00
Twinaphex c4d0cdc7ea Get rid of some unused variables 2018-09-29 21:19:06 +02:00
Twinaphex b747208a7b Fix Metal Qt build 2018-09-29 21:14:04 +02:00
twinaphex 5b4500141d Add RC_DISABLE_LUA for now for non-Makefile.common targets as general
precaution
2018-09-29 21:08:35 +02:00
twinaphex b526e1bff2 Add missing rcheevos 2018-09-29 20:58:39 +02:00
Twinaphex 433f2d8fe6 Update Metal pbxproj 2018-09-29 20:55:00 +02:00
Sven 25b5a7e3b8 add cheat variables to allow for updating large portions of memory - e.g. unlock all levels 2018-09-29 14:52:10 -04:00
twinaphex aaf48bdef0 Add include dirs for OSX/iOS 2018-09-29 20:51:36 +02:00
twinaphex fcc4454c9d Update griffin.c 2018-09-29 20:48:05 +02:00
twinaphex a44c9bf011 Update Android Makefiles 2018-09-29 20:45:08 +02:00
twinaphex fb2846f0a2 Add another include dir for Android 2018-09-29 20:28:18 +02:00
twinaphex 469f6b45bc Change message 2018-09-29 20:16:48 +02:00
Twinaphex c4a7ac39dc Merge pull request #7321 from leiradel/integrate_rcheevos
Integrate rcheevos
2018-09-29 20:12:47 +02:00
twinaphex 3e8bd3473b Add failsafe when there are no network devices found 2018-09-29 20:12:00 +02:00
Andre Leiradella 46e621b4a0 Don't use long long in Lua 2018-09-29 19:07:00 +01:00
Twinaphex 14afecd700 Merge pull request #7323 from fr500/master
Packaging update
2018-09-29 19:55:19 +02:00
Andrés bf2af7cada Merge pull request #2 from m4xw/libnx
Libnx
2018-09-29 12:47:29 -05:00
M4xw 694af39c9c [LIBNX] Update hb icon 2018-09-29 19:46:46 +02:00
radius 78714d92dc update dist-cores again 2018-09-29 12:46:19 -05:00
M4xw da5bf9659e [LIBNX] dist-cores cleanup, add hbmenu icon 2018-09-29 19:40:55 +02:00
Andre Leiradella 77df31256d Only build Lua if HAVE_LUA is defined; define HAVE_LUA by default
Define RC_DISABLE_LUA if HAVE_LUA is not defined
2018-09-29 18:39:29 +01:00
Andre Leiradella 3aa200e3ba Updated rcheevos to 7.1.0 2018-09-29 18:38:21 +01:00
M4xw 6b24ca4632 [LIBNX] Add Static Dummy 2018-09-29 19:36:15 +02:00
M4xw 7a841eae24 [SWITCH] Change platform dir layout to match unix, fixes autodetect 2018-09-29 19:36:14 +02:00
M4xw af21a6ad36 [LIBNX] Prefered default for Analog DPAD Mode 2018-09-29 19:36:14 +02:00
M4xw 0a70d92da5 [LIBNX] Add HAVE_UPDATE_ASSETS and cleanup 2018-09-29 19:36:13 +02:00
M4xw 03ad3b5c30 [LIBNX] Remove task_autodetect workaround 2018-09-29 19:36:12 +02:00
Twinaphex 7ae781ecc5 Merge pull request #7322 from fr500/master
update dist-cores for switch
2018-09-29 19:25:43 +02:00
radius 04ac076927 update dist-cores for switch 2018-09-29 12:20:43 -05:00
Andre Leiradella 60010b4545 Updated rcheevos to 7.0.2 2018-09-29 16:04:49 +01:00
twinaphex 67347205d4 Simplify function callback 2018-09-29 15:39:03 +02:00
Andre Leiradella 48e9dd6baf Merge branch 'master' into integrate_rcheevos 2018-09-29 14:33:31 +01:00
twinaphex dbf7e89a87 Simplify some code 2018-09-29 15:31:11 +02:00
Twinaphex 78fea999a7 Merge pull request #7319 from m4xw/libnx_freetype
[LIBNX] Add freetype, force freetype off on thread. Add Shaderpipeline define.
2018-09-29 11:48:11 +02:00
M4xw b4ae829b3f [LIBNX] Workaround for freezes caused by freetype with video threaded, revert later 2018-09-29 03:01:41 +02:00
M4xw 41c1b5ce97 [LIBNX] Add freetype 2018-09-29 02:59:31 +02:00
Twinaphex 2bac4a414a Merge pull request #7318 from fr500/master
[libnx] this will be required for core updater
2018-09-29 01:41:04 +02:00
radius cca7b55d3f [libnx] this will be required for core updater 2018-09-28 18:39:57 -05:00
twinaphex f1f2377826 (WiiU) Use MIN/MAX 2018-09-29 01:20:35 +02:00
Twinaphex 1793540218 Merge pull request #7317 from m4xw/libnx_gfx
[LIBNX] Fix Switch video driver with enabled GL build
2018-09-28 23:01:49 +02:00
M4xw a8555a76c5 [LIBNX] Fix Switch video driver with enabled GL build 2018-09-28 22:53:46 +02:00
twinaphex b0dd64c9f3 Change function prototype for scissor_end 2018-09-28 22:52:00 +02:00
twinaphex 4a305a8652 (libnx) Add buildbot server URL 2018-09-28 22:47:27 +02:00
twinaphex 29b4da6643 (GX2) Implement end_scissor 2018-09-28 22:40:23 +02:00
twinaphex fcaced91cc (GX2) Implement scissoring for GX2 2018-09-28 22:33:58 +02:00
twinaphex 624ffc98c1 (Vulkan) Implement scissoring for Vulkan 2018-09-28 22:00:47 +02:00
twinaphex b108dafa3e Enlarge strings to avoid warnings 2018-09-28 21:49:06 +02:00
twinaphex 1012416b67 Change size of video_driver_window_title to 512 2018-09-28 21:43:23 +02:00
twinaphex 761644ee57 Increase size of string to 8192 2018-09-28 21:42:09 +02:00
twinaphex 931397671f Increase size of string to silence warning 2018-09-28 21:40:17 +02:00
waitingmoon a6836584c7 Update msg_hash_ja.h 2018-09-28 23:23:51 +09:00
Twinaphex f7e4f440c8 Merge pull request #7311 from m4xw/libnx
[LIBNX] GL by default, enable XMB, rgui color changes for Libnx only
2018-09-28 11:09:24 +02:00
twinaphex ababce6461 Hide Resampler Quality setting 2018-09-28 11:05:19 +02:00
Twinaphex 335230fc24 Merge pull request #7314 from asakous/master
update traditional chinese translation
2018-09-28 10:42:01 +02:00
Twinaphex acb9921ab3 Merge pull request #7312 from lifajucejo/switch_networking
Add networking support to libnx
2018-09-28 10:41:38 +02:00
Twinaphex f62e2f4a9f Merge pull request #7313 from lifajucejo/switch_battery
Add battery percentage (psm) to switch
2018-09-28 10:29:11 +02:00
Matthew Wang e904fa851e update traditional chinese translation 2018-09-28 15:46:31 +08:00
lifajucejo a1aec9a870 Add battery percentage (psm) to switch 2018-09-27 23:52:08 -04:00
M4xw ef736d02c2 [LIBNX] Improve Threading, Fix Video Threaded. Scan content no longer crashes. 2018-09-28 03:24:12 +02:00
lifajucejo 9be2321c02 Add networking support to libnx 2018-09-27 21:23:01 -04:00
M4xw 26eca6bbd6 [LIBNX] Don't enable custom rgui bg colors for OpenGL build and change ifdef to libnx only 2018-09-28 02:38:58 +02:00
M4xw 2b564781b6 [LIBNX] Enable default OpenGL Build, enable XMB 2018-09-28 02:35:40 +02:00
Twinaphex 4ad6a5f683 Merge pull request #7310 from m4xw/libnx_ci
[LIBNX] Add dist-cores target
2018-09-28 01:18:59 +02:00
M4xw 6195f6360a Add libnx dist-cores target 2018-09-28 01:10:25 +02:00
M4xw 520f242051 [LIBNX] Change static lib name to libretro_libnx.a 2018-09-28 01:05:46 +02:00
Twinaphex 0aef172fff Merge pull request #7309 from alfrix/spanish
Spanish Update
2018-09-28 00:07:05 +02:00
Andre Leiradella d67aa83f48 Merge branch 'master' into integrate_rcheevos 2018-09-27 21:48:34 +01:00
Andre Leiradella 793205e457 Updated rcheevos to 7.0.1 2018-09-27 21:45:50 +01:00
Alfrix 307630722c Correct styling in msg_hash_us 2018-09-27 17:40:08 -03:00
Alfrix 9dfa48395e Update Spanish 2018-09-27 17:38:33 -03:00
Twinaphex 6dc232dd65 Merge pull request #7308 from alfrix/master
Add Recording and Streaming icons
2018-09-27 22:38:25 +02:00
Alfrix 7a66be2346 Add Recording and Streaming icons 2018-09-27 17:18:04 -03:00
Twinaphex 7c2291cc62 Merge pull request #7307 from m4xw/develop
[LIBNX] Mesa EGL backend has been fixed, remove workaround.
2018-09-27 21:03:00 +02:00
M4xw be2cba3200 [LIBNX] Mesa EGL backend has been fixed, remove workaround. 2018-09-27 20:02:30 +02:00
twinaphex 519cd84265 Fix hotkeys for streaming toggle/recording toggle 2018-09-27 19:06:39 +02:00
twinaphex 67fdd53263 implement recording/streaming hotkeys 2018-09-27 18:58:41 +02:00
Brad Parker acd40ff899 add doxygen file 2018-09-27 10:10:56 -04:00
twinaphex c9b6df10f2 Add HAVE_NETWORKING ifdef around these menu entries 2018-09-27 14:17:34 +02:00
twinaphex 9dde33b5c1 Cleanups 2018-09-27 14:02:11 +02:00
twinaphex a52b6a2c16 Add Streaming Title setting 2018-09-27 13:38:32 +02:00
twinaphex 0a9c78c26d Cleanup 2018-09-27 13:14:32 +02:00
twinaphex 3dc303f929 Take out this ifdef 2018-09-27 11:55:36 +02:00
twinaphex ddc256e410 Take out the HAVE_FFMPEG ifdefs 2018-09-27 11:53:27 +02:00
twinaphex ebcf4c5a95 Only show this if recording driver is not NULL 2018-09-27 11:50:26 +02:00
Twinaphex 1baf58716f Merge pull request #7302 from fr500/master
[record] streaming & recording refinements
2018-09-27 11:47:57 +02:00
twinaphex f588ea8d76 Take out this ifdef 2018-09-27 10:44:58 +02:00
Twinaphex c4da97aeed Merge pull request #7303 from m4xw/libnx_opengl
[LIBNX] Threading changes, implement OpenGL support, Font fix
2018-09-27 10:25:49 +02:00
radius c0f9f7b9a9 [recording] update streaming url at startup and whenever the stream keys are updated 2018-09-26 21:40:57 -05:00
radius 70dcdc7cf0 [record] fixes 2018-09-26 20:04:08 -05:00
radius 2c59716e77 [record] refinements 2018-09-26 18:46:00 -05:00
M4xw fd155db9cc [LIBNX] Fix font driver 2018-09-27 01:23:29 +02:00
M4xw 870cd941e3 Build fix if HAVE_NETWORKING isn't defined 2018-09-27 01:23:28 +02:00
M4xw cf097d7f42 [LIBNX] Implement OpenGL 2018-09-27 01:23:24 +02:00
radius ef3677633c [record] fix logging 2018-09-26 18:00:39 -05:00
radius 7fc210a0c3 [record] fix some defaults and value ranges 2018-09-26 17:55:47 -05:00
M4xw 72ed1c0b82 [LIBNX] Threading; Use a ThreadCoreMask and let the system schedule it. 2018-09-27 00:53:26 +02:00
radius b328731fe5 [record] refine the menu, make streaming actually follow the menu settings 2018-09-26 17:42:39 -05:00
Andre Leiradella ad992d227b Guard against null settings; only test leaderboards if enabled 2018-09-26 23:03:31 +01:00
twinaphex 95974f9f3a Should correct setting somewhat 2018-09-26 23:50:29 +02:00
radius 6f0a79acf9 [record] hide these on non suitable platforms 2018-09-26 16:49:48 -05:00
twinaphex 1764bfe60f Added Streaming Mode 2018-09-26 23:34:45 +02:00
twinaphex cf7eea30cb Add Youtube/Twitch Stream key settings 2018-09-26 23:22:12 +02:00
twinaphex bb0059c721 Add Twitch list/Youtube list 2018-09-26 23:00:20 +02:00
neville 8c101fdfd6 Buildfix 2018-09-26 18:48:30 +02:00
twinaphex d955af64a0 Cleanup 2018-09-26 16:16:17 +02:00
Twinaphex 76399013a1 Silence some warnings 2018-09-26 16:13:42 +02:00
twinaphex 0a9eb98cc8 Cleanups 2018-09-26 15:46:27 +02:00
twinaphex 60d537fa32 Create menu_driver_list_insert 2018-09-26 14:25:28 +02:00
twinaphex 5d1fff541b Create new functions 2018-09-26 14:22:22 +02:00
twinaphex fb0c816110 Cleanups 2018-09-26 14:03:29 +02:00
twinaphex 04cb02cec7 Use setting->size for size when strlcpying for string variables 2018-09-26 12:57:00 +02:00
twinaphex 7ba7bc3a1d Add recording options at radius' request 2018-09-26 00:55:17 +02:00
twinaphex e4df100377 Don't bake in mbedtls when networking is not builtin 2018-09-26 00:16:37 +02:00
twinaphex 6ebf4b860b Buildfix 2018-09-26 00:12:52 +02:00
twinaphex 7aea66677b Merge menu_input.c and menu_event.c 2018-09-25 16:46:15 +02:00
twinaphex 44a0c70c8a Removed unused RARCH_MENU_CTL_REFRESH 2018-09-25 16:28:36 +02:00
twinaphex bf5879a97f (wii/PSP) Disable HAVE_LANGEXTRA - these systems are RAM-strapped 2018-09-25 15:57:28 +02:00
twinaphex 8f2cda7388 Cleanup 2018-09-25 15:43:40 +02:00
twinaphex aa89791b60 Update 2018-09-25 15:40:16 +02:00
twinaphex 839940b4bb Add representation to state slot setting 2018-09-25 15:22:25 +02:00
twinaphex 1e10ab1ab6 Reimplement string representation for CRT Switch Resolution super 2018-09-25 15:18:51 +02:00
twinaphex b7be322170 Cleanups 2018-09-25 15:00:29 +02:00
twinaphex 8a43580e6b Cleanups 2018-09-25 14:47:20 +02:00
twinaphex 50bb491ba2 Bind driver settings action OK callback to dropdown list 2018-09-25 14:45:55 +02:00
twinaphex a0e218bd44 Cleanups 2018-09-25 01:49:48 +02:00
twinaphex 1631577b8e Simplify code 2018-09-25 01:37:15 +02:00
twinaphex 390cb578a9 Reimplement left/right callbacks for netplay MITM server setting 2018-09-25 01:30:47 +02:00
twinaphex a0efad3cc8 menu_cbs_select.c - String option settings were not being bound to
action OK callback
2018-09-25 00:07:24 +02:00
twinaphex 919a23c442 Revert "Fix for #7130, take two"
This reverts commit 8f40baf7ff.
2018-09-24 20:06:41 +02:00
waitingmoon a945b7b985 Update msg_hash_ja.h (#7284) 2018-09-24 13:51:01 -04:00
twinaphex 9fd580e5de Don't enable adaptive vsync by default 2018-09-24 17:03:11 +02:00
twinaphex d5a1ce272c Add dropdown lists for most float settings 2018-09-24 15:02:12 +02:00
twinaphex 384b36ac4c Comment this out for now - initial implementation of dropdown list
for float
2018-09-24 14:34:43 +02:00
twinaphex 007e8dbd20 Add dropdown lists for cheat options 2018-09-24 14:16:07 +02:00
Twinaphex 0f4f11a70c Update CHANGES.md 2018-09-24 13:59:44 +02:00
Twinaphex 8d484568ad Update CHANGES.md 2018-09-24 13:52:26 +02:00
Twinaphex e170c3db29 Merge pull request #7295 from fr500/master
WIP: Streaming/Recording Options
2018-09-24 12:26:54 +02:00
Twinaphex 70f5f49c33 Update CHANGES.md 2018-09-24 11:56:35 +02:00
Twinaphex dc83e1162a Update CHANGES.md 2018-09-24 11:55:40 +02:00
Twinaphex 72cf259d49 Update CHANGES.md 2018-09-24 11:55:05 +02:00
Twinaphex 66dcf0f6f7 Update CHANGES.md 2018-09-24 11:54:18 +02:00
Twinaphex a0e550911a Update CHANGES.md 2018-09-24 11:53:33 +02:00
Twinaphex 393d15ee0d Update CHANGES.md 2018-09-24 11:53:02 +02:00
Twinaphex 0782418a90 Merge pull request #7297 from yoshisuga/ios-iphone-x-notch
[iOS] Support iPhone X displays by adjusting for the 'notch'
2018-09-24 11:49:23 +02:00
Yoshi Sugawara f071460d7a use safe area to account for notch for iPhone X and adjust main view size 2018-09-23 22:45:44 -10:00
Twinaphex 8e06a4233d Merge pull request #7296 from gblues/master
Wii U: Fix menu lag when built with DevKitPro r32
2018-09-24 04:34:32 +02:00
radius 58b7621559 [record] add settings for video scale factor 2018-09-23 19:53:13 -05:00
radius 554ad5a494 [record] hookup quality 2018-09-23 19:42:43 -05:00
Nathan Strong 0900f08696 Wii U: Fix menu lag when built with DevKitPro r32
== DETAILS

Updates to the newlib library bundled with DevKitPro have caused
incorrect behavior in `cpu_features_get_time_usec()`. Specifically,
it defines `_POSIX_MONTONIC_CLOCK` which results in calling newlib's
time functions which are.. buggy, at least on Wii U.

By moving the WIIU case higher up, we end up calling the actual
Wii U time library routines, and get nice snappy animations as a
result.

== TESTING
I tested this locally on my wiiu and confirmed resolved menu sluggishness.
2018-09-23 17:26:45 -07:00
radius bcb960d248 record] start adding menu entries 2018-09-23 19:09:28 -05:00
radius c427847944 [record] define quality profiles 2018-09-23 18:43:26 -05:00
Twinaphex 8a5ef19de9 Merge pull request #7285 from Zlika/master
(Menu) Fix crash when changing core's options on Android
2018-09-23 22:32:42 +02:00
Twinaphex ba4bb5c98c Merge pull request #7293 from alphanu1/master
Added functionality for new CRT SwitchRes options
2018-09-23 22:32:20 +02:00
twinaphex e0f01fd85e Cleanups 2018-09-23 22:16:31 +02:00
twinaphex c9494a922b Use menu_setting_find_enum 2018-09-23 22:05:51 +02:00
twinaphex 6d16b5fc93 This is unnecessary - if you already know the enum_idx - use
menu_setting_find_by_enum instead - it will be faster
2018-09-23 22:02:20 +02:00
Twinaphex 2fabcb5b63 Merge pull request #7292 from RetroSven/master
add ability to edit emu-style cheat code value ; change default handler to emu
2018-09-23 21:53:58 +02:00
alphanu1 b3cfe1d337 Merge pull request #95 from alphanu1/alphanu1-patch-86
Added functions for new CRT SwitchRes options
2018-09-23 20:43:28 +01:00
alphanu1 e6b8dcf5b0 Added functions for new CRT SwitchRes options 2018-09-23 20:42:31 +01:00
alphanu1 0241ddb3ba Merge pull request #94 from alphanu1/alphanu1-patch-85
Added functions for new CRT SwitchRes options
2018-09-23 20:40:44 +01:00
alphanu1 c362a6d7f4 Added functions for new CRT SwitchRes options 2018-09-23 20:39:40 +01:00
twinaphex 8140d90ebc Add dropdown list for state slot 2018-09-23 21:29:00 +02:00
Sven b62fa8d9ed add ability to edit emu-style cheat code value ; change default handler to emu 2018-09-23 15:25:51 -04:00
Twinaphex 6de2ca7bd8 Merge pull request #7291 from Dwedit/bugfix-random-filename
Fixed random filename generator for secondary core
2018-09-23 21:22:26 +02:00
Dwedit 1987b74179 Fixed random filename generator, no longer resets to the first value each attempt. 2018-09-23 14:20:25 -05:00
twinaphex badac565da Take this out 2018-09-23 20:45:24 +02:00
alphanu1 0da456e48c Merge pull request #93 from libretro/master
Update
2018-09-23 19:39:05 +01:00
twinaphex 26775a625a Add more dropdown lists 2018-09-23 20:34:27 +02:00
twinaphex 0204e28542 Add more dropdown lists 2018-09-23 20:31:36 +02:00
twinaphex 2001489006 Disable action OK callback for playlist associations for now - difficult
to hook up
2018-09-23 20:22:05 +02:00
Twinaphex 76b48e4907 Merge pull request #7290 from Dwedit/dirty_input_fix
Fix input IDs outside of range 0-35 causing slow performance in runahead
2018-09-23 19:59:38 +02:00
Dwedit a129cffbd6 Fix the dirty input system badly mishandling IDs out of the range of 0-35.
Now the state array is dynamic, and can handle any size.  The initial size is 256 elements (0-255, fixes FBA).

An arbitrary limit of 65536 IDs is currently in there, intended to detect invalid arguments.
2018-09-23 11:37:33 -05:00
twinaphex baa909f296 Add dropdown lists for core options 2018-09-23 18:36:48 +02:00
twinaphex 3b6f3d027c Add dropdown list for playlist history size 2018-09-23 17:21:00 +02:00
twinaphex 1f864e379b Add dropdown lists for driver settings 2018-09-23 17:13:45 +02:00
twinaphex c3e1dd0605 Add HAVE_NETWORKING ifdef 2018-09-23 16:23:47 +02:00
twinaphex 3e95d3efd4 Add dropdown list for DPI Override 2018-09-23 16:17:49 +02:00
twinaphex 2b7a1c7f3c Add dropdown list for X-Axis Centering 2018-09-23 16:13:54 +02:00
twinaphex 21ac77ced2 Cleanups 2018-09-23 15:54:02 +02:00
twinaphex 9671df2b67 Add dropdown list to show physical inputs port setting 2018-09-23 15:23:21 +02:00
twinaphex 9b43c1fc21 Move Mixer Settings to Audio 2018-09-23 15:07:35 +02:00
twinaphex 45a1d4d1e4 Add dropdown list to XMB scaling factor / XMB opacity factor 2018-09-23 14:49:01 +02:00
twinaphex 53e3299e6f Add dropdown list to another setting 2018-09-23 14:44:42 +02:00
twinaphex 19a2af4ee3 Cleanup 2018-09-23 14:39:21 +02:00
twinaphex 962680abb8 Add dropdown list for Netplay Latency Frame settings 2018-09-23 14:34:51 +02:00
twinaphex ff949328d2 Add dropdown list for Hard GPU Sync Frames and Delay Frames 2018-09-23 14:22:11 +02:00
twinaphex 96340f0d89 Add dropdown list for core logging level 2018-09-23 14:18:36 +02:00
twinaphex d2d5ea3508 Change offset_by to signed integer 2018-09-23 14:15:03 +02:00
twinaphex 3169dea1cc Cleanup 2018-09-23 14:13:56 +02:00
twinaphex 8d4d1b2e38 Use setting->offset_by properly 2018-09-23 14:12:47 +02:00
twinaphex 3d051667ce Don't use offset_by 2018-09-23 14:08:42 +02:00
twinaphex cbfb1cb320 Add dropdown list for max users and set index offset by 1 -
doesn't report correct representation values but too much hassle
to implement for now
2018-09-23 13:53:36 +02:00
twinaphex 3f8ec4c067 Add dropdown list for analog Dpad mode 2018-09-23 13:30:45 +02:00
twinaphex 652f25436f Cleanup analog dpad mode representation 2018-09-23 13:15:33 +02:00
twinaphex b3ba9acc25 Cleanup 2018-09-23 12:58:53 +02:00
twinaphex 5b6b6b6076 Cleanups 2018-09-23 12:55:20 +02:00
twinaphex 3c02608218 Cleanups 2018-09-23 12:52:56 +02:00
twinaphex 0c96b51ed4 Style nit cleanups 2018-09-23 12:49:48 +02:00
twinaphex 55def68da8 Style nit cleanups 2018-09-23 12:49:05 +02:00
twinaphex 51d3ddff6a Add dropdown lists for thumbnails 2018-09-23 12:39:01 +02:00
twinaphex 69fbbfb284 Add dropdown list for MaterialUI menu color theme 2018-09-23 12:34:20 +02:00
twinaphex a67c18f955 use min variable 2018-09-23 12:29:30 +02:00
twinaphex 540270d3ed (cheevos) This needs to be behind HAVE_CHEEVOS ifdefs 2018-09-23 12:25:31 +02:00
twinaphex 35764a7200 'select/touch callback' - if action OK callback is bound for ST_UINT and
other settings, bind to action OK callback instead of action right
2018-09-23 12:22:41 +02:00
twinaphex 67b83d9d5f Add dropdown list for XMB menu color theme 2018-09-23 12:19:53 +02:00
twinaphex 1d962e960b Style nits 2018-09-23 12:10:33 +02:00
twinaphex e04d3da985 Add new dropdown lists 2018-09-23 12:05:21 +02:00
twinaphex 991688f35c Add dropdown list for User Language 2018-09-23 11:54:49 +02:00
twinaphex cadb9539b6 Add dropdown lists for Netplay share Digital/Analog 2018-09-23 11:46:03 +02:00
twinaphex ba9150f7c0 Add dropdown lists for poll type behavior and menu toggle type 2018-09-23 11:40:26 +02:00
twinaphex 6c3610decc Move get representation implementation to menu_setting.c 2018-09-23 11:34:30 +02:00
twinaphex 242a7eb914 Reimplement get_value callback for audio resampler quality - action OK
now triggers a dropdown list
2018-09-23 11:25:24 +02:00
twinaphex e9516827b9 (Video) Add dropdow list for Video -> Rotation
(Dropdown list) Fix off-by-one entry - last entry was not being
displayed
2018-09-23 11:05:07 +02:00
twinaphex f00f73c5ed Add 'dropdown list' when pressing the OK/Confirm button on Video -> Aspect Ratio 2018-09-23 10:59:49 +02:00
Twinaphex a1d876b44e Merge pull request #7268 from fr500/master
WIP: prevent loading states before achievements are fully loaded
2018-09-23 08:42:53 +02:00
radius a0339e95ec Reset the flag on reset 2018-09-22 21:27:19 -05:00
Zlika 8f40baf7ff Fix for #7130, take two 2018-09-22 22:27:07 +02:00
Twinaphex 06d7f717d4 Merge pull request #7283 from yoshisuga/ios-iphonex-support
[iOS] Support iPhone X/Xr/XS/XS Max screen sizes
2018-09-22 20:21:29 +02:00
Yoshi Sugawara cdc0510e1c add launch images for iPhone X/Xr/XS/XS Max 2018-09-22 08:11:07 -10:00
Alfredo Monclus 599ed980c6 Fix linux icon (#7282) 2018-09-22 13:37:22 -04:00
radius c4d678a1ce reset the flag on Resume 2018-09-22 11:43:41 -05:00
radius 986a8d3003 add write handler for achievement_hardcore_mode_write_handler 2018-09-22 11:43:41 -05:00
radius c07744564a prevent retroachievements cheating exploit
Revert "prevent retroachievements cheating exploit" and reimplement it in a better way

This reverts commit d323338caa4882925d184f5ee7a506bfa8c78c1e.
2018-09-22 11:43:34 -05:00
Twinaphex baa6330b13 Merge pull request #7280 from alfrix/16x16
New 16x16 icon
2018-09-22 18:24:28 +02:00
Alfrix 244b3bed3d New 16x16 icon 2018-09-22 12:14:18 -03:00
Twinaphex c094c8e9e3 Merge pull request #7277 from alfrix/fix_master
Revert "Merge pull request #7271 from Zlika/master"
2018-09-22 16:59:15 +02:00
Alfrix 061c3e5614 Revert "Merge pull request #7271 from Zlika/master"
This reverts commit 4ae2f00d45, reversing
changes made to 2ee6b75d11.
2018-09-22 11:57:14 -03:00
Twinaphex 4ae2f00d45 Merge pull request #7271 from Zlika/master
(Menu) Fix crash when changing core's options on Android
2018-09-22 14:51:01 +02:00
Zlika e2c82d9ef8 Fix C89 error 2018-09-22 13:27:55 +02:00
Twinaphex 2ee6b75d11 Merge pull request #7274 from alphanu1/master
Small fix for low res cores for CRT switching < 200
2018-09-22 12:59:45 +02:00
alphanu1 e88e8ca614 Merge pull request #92 from libretro/master
update
2018-09-22 10:41:11 +01:00
alphanu1 60e57edc6b Merge pull request #91 from alphanu1/alphanu1-patch-84
Low res LCD core fix for CRT
2018-09-22 10:39:42 +01:00
alphanu1 eaeb4cc1b8 Low res LCD core fix for CRT 2018-09-22 10:39:28 +01:00
Twinaphex a1ddb2ecf2 Merge pull request #7270 from DEX357/patch-20
Update msg_hash_pl.h
2018-09-22 09:33:57 +02:00
Brad Parker c2a09b4d9c Qt: fix signedness comparisons 2018-09-21 16:40:31 -04:00
Zlika efb2f31a3b Fixes #7130 2018-09-21 22:36:09 +02:00
Brad Parker 329d472ee7 Qt: allow special playlists (excluding all) to add/edit/delete 2018-09-21 16:32:38 -04:00
Brad Parker e64b371955 Qt: current right click options for playlist entries are not valid for special playlists 2018-09-21 14:15:25 -04:00
DEX357 560d6767f4 Update msg_hash_pl.h 2018-09-21 19:23:36 +02:00
Twinaphex 48e7f7b7fb Update AndroidManifest.xml 2018-09-21 10:43:20 +02:00
Twinaphex fd9636beb2 Update AndroidManifest.xml 2018-09-21 10:43:07 +02:00
Twinaphex aebfe95895 Merge pull request #7266 from lifajucejo/libnx_vsync_mitigation
gfxWaitForVsync not needed with libnx 1.4
2018-09-21 10:42:16 +02:00
lifajucejo 1c097fbd5b gfxWaitForVsync not needed with libnx 1.4
- still honors ctx->vsync if enabled in _frame callback for throttling
2018-09-20 22:11:52 -04:00
waitingmoon a1e3530c77 Update msg_hash_ja.h (#7261)
* Update msg_hash_ja.h

* fix typo

解答 to 解凍
2018-09-20 21:56:32 -04:00
Twinaphex 9303cf382f Merge pull request #7260 from natinusala/menu_display_scissor
menu_display_gl: added scissoring support
2018-09-20 14:58:02 +02:00
natinusala 7ec2011ccf menu_display_gl: added scissoring support 2018-09-20 14:48:07 +02:00
twinaphex 6825cb2cc7 task_database.c - use string_is_equal 2018-09-20 12:48:00 +02:00
Twinaphex 765e225f48 Merge pull request #7258 from yoshisuga/ios-startup-fix
[iOS] Comment out unsupported code for iOS for now, so that it does not crash
2018-09-20 10:53:36 +02:00
Yoshi Sugawara 2b72a9151d Comment out unsupported code for iOS for now, so that it does not crash on startup; fix for building in Xcode 10 2018-09-19 22:09:29 -10:00
Twinaphex 62b0722ec5 Merge pull request #7249 from alondero/master
Add support for Rumble when increase or decrease by the rumble value
2018-09-20 09:53:36 +02:00
Twinaphex 11cacad8d9 Merge pull request #7257 from fr500/master
update icons again
2018-09-20 04:40:46 +02:00
radius 3dd3aae5f1 update icons again 2018-09-19 21:29:10 -05:00
Alfredo Monclus c91fd2aa7e fix screenshot sublabel (#7255) 2018-09-19 14:00:50 -04:00
waitingmoon 099317a2e2 Update msg_hash_ja.h (#7250) 2018-09-19 08:19:15 -04:00
Twinaphex 0d82c2830f Merge pull request #7253 from fr500/master
update the svg too
2018-09-19 10:51:14 +02:00
radius 203177e440 update the svg too 2018-09-19 02:46:05 -05:00
twinaphex c9dd7db1a0 Fix line 2018-09-19 09:44:50 +02:00
Twinaphex 391f972037 Merge pull request #7252 from fr500/master
add icon to bypass google nonsense
2018-09-19 09:44:07 +02:00
radius f0889b668c add icon to bypass google nonsense 2018-09-19 02:42:49 -05:00
Twinaphex 80333e1899 Merge pull request #7251 from fr500/master
refine the icons again, made them bigger within the canvas
2018-09-19 09:38:45 +02:00
radius 4898d733d0 refine the icons again, made them bigger within the canvas 2018-09-19 02:37:29 -05:00
twinaphex b56d4e83ba (Android Aarch64) Set it to 16:9 aspect ratio to comply with Android TV
policies
2018-09-19 08:31:56 +02:00
twinaphex 60f4e39092 Buildfix 2018-09-19 02:10:10 +02:00
Adam Londero 69074f877b Add support for Rumble when memory increases or decreases by the rumble value 2018-09-18 22:04:22 +01:00
Twinaphex cfd52f8e73 Merge pull request #7248 from bparker06/qt_rename_playlist
Qt: add option to rename playlists
2018-09-18 22:28:47 +02:00
Brad Parker 1db4a6822b Update CHANGES.md 2018-09-18 16:16:18 -04:00
Brad Parker 162c0ebf33 Qt: fix shader parameter checkboxes 2018-09-18 16:15:29 -04:00
Brad Parker 010fad236a Qt: add option to rename playlists 2018-09-18 14:09:25 -04:00
waitingmoon bca86728b0 Update msg_hash_ja.h (#7246)
* Update msg_hash_ja.h

Update JP translation

* Update msg_hash_ja.h
2018-09-18 11:10:06 -04:00
twinaphex dbfcd02b82 Start adding a way to set a hardbaked config 2018-09-18 11:27:18 +02:00
twinaphex b4dc1fbb5b Rename ffemu_audio_data/ffemu_video_data 2018-09-18 10:22:34 +02:00
twinaphex c2cee6e8f0 Move CRT SwitchRes to Video Settings as submenu 2018-09-18 09:24:29 +02:00
twinaphex cb8148878c Add hotkeys for 'Toggle Recording' / 'Toggle Streaming' 2018-09-18 08:52:09 +02:00
Twinaphex 6c84072c3b Merge pull request #7243 from fr500/master
[recording] release file handles on stop record
2018-09-18 07:44:58 +02:00
radius 5a1bfe2cfd [record] release file handles 2018-09-18 00:43:19 -05:00
waitingmoon d2ab86f333 Update msg_hash_ja.h (#7240)
Update JP translation
2018-09-18 01:39:42 -04:00
radius f3db15b282 [record] further cleanups of the workflow 2018-09-18 00:34:25 -05:00
Twinaphex e012971519 Merge pull request #7242 from fr500/master
[record] further cleanups of the workflow
2018-09-18 07:32:51 +02:00
radius 356d4e2c5e [record] further cleanups of the workflow 2018-09-18 00:30:46 -05:00
Twinaphex 2aed5a34ef Merge pull request #7241 from fr500/master
[recording] handle failure to start recording properly
2018-09-18 07:21:18 +02:00
radius 6351e80946 [recording] handle failure to start recording properly 2018-09-18 00:04:18 -05:00
Brad Parker 8e41665939 travis: use a newer gcc 2018-09-17 23:29:46 -04:00
Brad Parker 1a3259079c travis: include Qt 2018-09-17 23:16:47 -04:00
Brad Parker 6bc3cd49d5 Qt: add fallback path for older versions 2018-09-17 23:16:47 -04:00
Twinaphex ab6a46f2ba Merge pull request #7238 from fr500/master
update AARCH64 icon
2018-09-18 04:28:49 +02:00
Twinaphex 79f26b947d Remove unused variables 2018-09-18 04:28:08 +02:00
radius a0cab184db update AARCH64 icon 2018-09-17 21:26:53 -05:00
Twinaphex 8351b0481f Merge pull request #7234 from theheroGAC/patch-36
Update msg_hash_it.h
2018-09-18 04:16:51 +02:00
Twinaphex 132faf3bf2 Merge pull request #7237 from fr500/master
update assets
2018-09-18 04:05:03 +02:00
radius 2ff8bdc14a update assets 2018-09-17 21:03:09 -05:00
twinaphex e9a25e3022 Fix relative path includes 2018-09-17 21:47:12 +02:00
theheroGAC bd0f7002bc Update msg_hash_it.h 2018-09-17 20:42:26 +02:00
twinaphex fa30f49e16 Buildfix 2018-09-17 20:00:54 +02:00
Twinaphex 9a6a797f90 Merge pull request #7232 from alfrix/master
Update spanish and add discord sublabel
2018-09-17 19:43:12 +02:00
Twinaphex 448520ead2 Merge pull request #7231 from fr500/master
[recording] hook up the options properly
2018-09-17 19:37:01 +02:00
Alfrix 4ab61c3f7d Add discord sublabel and fix cheat apply after load 2018-09-17 14:31:47 -03:00
Alfrix 63f5281b67 Update english 2018-09-17 14:31:04 -03:00
Alfrix 74350ee184 Update Spanish 2018-09-17 14:30:31 -03:00
radius 0d7a169ea0 [recording] toggle menu when the options are used 2018-09-17 09:19:06 -05:00
radius ef9258449c [recording] hook up the options properly 2018-09-17 09:08:54 -05:00
twinaphex eb9e8c97d6 (Menu) Cleanups 2018-09-17 10:09:52 +02:00
twinaphex 6d0409b6bd (Menu) More cleanups 2018-09-17 10:07:15 +02:00
twinaphex 2d8eb9322a Cleanups 2018-09-17 10:02:31 +02:00
twinaphex 3aec8abca9 Get rid of some void pointers 2018-09-17 09:57:30 +02:00
twinaphex c40700e51b Add Start Streaming / Start Recording - implementation will need
to be properly done though
2018-09-17 09:18:44 +02:00
twinaphex 3c8ee6f26a Add 'Start Streaming/Start Recording' to Quick Menu 2018-09-17 09:06:24 +02:00
Twinaphex 4f85ca5f9a Merge pull request #7225 from fr500/master
WIP: [record] start whipping some sense into this feature
2018-09-17 06:16:13 +02:00
twinaphex 0fe713eb5f Fix error: initializer element is not constant 2018-09-17 03:50:37 +02:00
Twinaphex 8c10abf8bb Update CHANGES.md 2018-09-17 03:41:45 +02:00
Twinaphex 2dcc6ae046 Merge pull request #7230 from bparker06/qt_labeledit
Qt: edit playlist entry labels by clicking on them a second time
2018-09-17 03:41:01 +02:00
twinaphex 2c959d8ff1 (Display server) Add get_output 2018-09-17 03:40:17 +02:00
Brad Parker 5fbf841fb2 Qt: edit playlist entry labels by clicking on them a second time, or with the platform's edit key (usually F2) 2018-09-16 21:34:28 -04:00
twinaphex 9c88c6e3c5 Add msg_hash OUTPUT_DISPLAY_ID 2018-09-17 03:25:34 +02:00
twinaphex 04211662cf Add 'Use Custom Refresh Rate' setting 2018-09-17 01:56:18 +02:00
twinaphex cb7d15bc2b Update 2018-09-17 01:31:51 +02:00
twinaphex b5c6586b12 Change CRT switch resolution - add options 'Off/15 Khz/31Khz' 2018-09-17 01:30:49 +02:00
twinaphex 369f8206d1 Add 'X-Axis Centering' - https://github.com/libretro/RetroArch/issues/6988 2018-09-16 21:00:34 +02:00
Twinaphex 5d4a8f4497 Merge pull request #7226 from theheroGAC/patch-35
Update msg_hash_it.h
2018-09-16 16:35:26 +02:00
theheroGAC 71e8f00b27 Update msg_hash_it.h 2018-09-16 12:39:11 +02:00
twinaphex 07fd28b351 Change CRT Super Resolution 'OFF' to 'Native' 2018-09-16 09:06:55 +02:00
twinaphex 92b6854315 CRT SwitchRes - step 3 - https://github.com/libretro/RetroArch/issues/6988 2018-09-16 08:57:27 +02:00
twinaphex ac81ef680d Update sublabels 2018-09-16 08:29:13 +02:00
twinaphex 004a2e335f (CRT SwitchRes) Step 1- https://github.com/libretro/RetroArch/issues/6988 2018-09-16 08:06:06 +02:00
twinaphex 60437f07fd Update CHANGES.md 2018-09-16 07:38:15 +02:00
Twinaphex 394136f368 Merge pull request #7224 from alfrix/master
Update spanish and fix some indentation mishaps in us
2018-09-16 06:20:13 +02:00
Alfrix f24715ac1e Update spanish and fix some indentation mishaps in us 2018-09-16 00:27:40 -03:00
radius efa62af78b [recording] use a different config for streaming 2018-09-15 22:02:57 -05:00
radius 1c85058e72 [recording] rename bsv recording from movie to input replay 2018-09-15 21:47:23 -05:00
radius 16bd85b118 [recording] refactor recording_is_enabled no need to use a pointer for all of this 2018-09-15 21:09:41 -05:00
radius 9d490ace3b [record] deinit before init 2018-09-15 17:54:00 -05:00
radius 49214de125 [record] start whipping some sense into this feature 2018-09-15 17:49:39 -05:00
twinaphex 50398c2a35 Bump version up to 1.7.5 2018-09-15 20:24:04 +02:00
Brad Parker 055eff653a android: add text to xhdpi banner per TV app quality guidelines 2018-09-15 12:39:35 -04:00
twinaphex 13223c2225 Update switch_thread_audio.c 2018-09-15 17:44:27 +02:00
twinaphex f21493947d vim - add RetroArch style conventions 2018-09-15 17:43:34 +02:00
twinaphex 2fc08ce394 (switch_nx_gx.c) Some style nits 2018-09-15 17:39:03 +02:00
twinaphex 6ff2c96d03 - Rename switch_nx_thread_audio.c to switch_thread_audio.c
- Change code to C89-comformant
- Some small formatting/style nits
- Cleanup Makefile.common object listings
2018-09-15 17:31:56 +02:00
twinaphex db43033f9a Some minor cleanups - switch_audio_compat.h 2018-09-15 17:21:21 +02:00
Twinaphex c614cb05ec Merge pull request #7223 from m4xw/audio_thr_fixes
[NSW] Fix Threaded audio driver
2018-09-15 16:58:04 +02:00
M4xw ea066625ba [NSW] Fix Threaded audio driver (fifoSize init) and use a slightly higher Prio. 2018-09-15 16:46:17 +02:00
Twinaphex 13c22c47b9 Merge pull request #7220 from reswitched/master
[NSW] SDK Compat Fixups
2018-09-15 16:33:52 +02:00
misson20000 abd86058c6 fix attribution (it's a common mistake) 2018-09-15 03:28:08 -07:00
misson20000 8ed254f0c0 small platform_switch indentation fixups 2018-09-15 03:27:29 -07:00
misson20000 7072bbb829 [NSW] SDK compat fixups 2018-09-15 03:27:29 -07:00
misson20000 fa76a3cb60 CRLF -> LF 2018-09-15 03:27:05 -07:00
twinaphex bde5905eba Cleanup 2018-09-15 08:12:18 +02:00
twinaphex 7bd705983e Convert strcmp to string_is_equal 2018-09-15 07:47:44 +02:00
twinaphex ec5d046f4c Cleanups - get rid of strcmp references 2018-09-15 07:44:21 +02:00
twinaphex eac56c4382 Try to avoid strcpy and strcmp in midi_driver.c 2018-09-15 07:32:48 +02:00
Brad Parker 19329fe7c7 prevent out of bound array access for unmapped input binds 2018-09-15 01:21:10 -04:00
twinaphex 09d27fc591 Silence some warnings 2018-09-15 07:19:51 +02:00
twinaphex 73e01b64ba Should fix non-HAVE_DISCORD path 2018-09-15 07:17:29 +02:00
twinaphex 3d611a2673 Update runahead - get rid of FREE macro 2018-09-15 06:41:37 +02:00
Twinaphex df5476f0c0 Merge pull request #7210 from fr500/master
WIP: Discord "ask to join"
2018-09-15 06:37:32 +02:00
Twinaphex 77923df4c1 Merge pull request #7218 from m4xw/libnx_updates
[LIBNX] Implement threading, adapt libnx 1.4.0 changes, add Core extension
2018-09-15 04:36:02 +02:00
M4xw 0ff014c1ac [LIBNX] Add Core extension 2018-09-15 02:29:40 +02:00
M4xw 3a6e410833 [LIBNX] Add pthreads wrapper 2018-09-15 02:28:52 +02:00
radius e567b3847c [discord] use the upstream application ID 2018-09-14 19:03:26 -05:00
M4xw 424d169cd9 [LIBNX] Fix Audio and Platform for updated libnx 2018-09-15 01:29:42 +02:00
Twinaphex 7ed367c49b Merge pull request #7214 from RobLoach/emscripten-chailove
(Emscripten) Add ChaiLove selection to web player
2018-09-14 23:33:50 +02:00
Twinaphex d41f41c5d0 Merge pull request #7216 from DEX357/patch-19
Update msg_hash_pl.h
2018-09-14 23:33:36 +02:00
DEX357 e37bd41e86 Update msg_hash_pl.h 2018-09-14 23:20:09 +02:00
Twinaphex 899e35451a Merge pull request #7215 from m4xw/libnx_fixes
[LIBNX] Add platform_switch, Fix switch_audio.
2018-09-14 20:46:33 +02:00
M4xw 64edf5f879 [LIBNX] Fixups and bare minimum to function 2018-09-14 20:38:42 +02:00
M4xw 3566171ea1 Essential .gitignore rules 2018-09-14 19:35:31 +02:00
M4xw 932b4c5ce1 [LIBNX] Fix switch_audio 2018-09-14 19:35:21 +02:00
Rob Loach 2ff87fd663 emscripten: Add ChaiLove selection to web player 2018-09-14 09:39:20 -04:00
twinaphex 7428fef4bc Cleanups 2018-09-12 21:50:11 +02:00
twinaphex 0158bbe4aa Add switch_nx_gfx.c 2018-09-12 21:44:53 +02:00
twinaphex 8f9dc13aa7 Add copyrights 2018-09-12 21:28:54 +02:00
twinaphex 19b4ef3b2c Add conv rgb565 to ABGR8888 by m4xw 2018-09-12 20:04:52 +02:00
twinaphex cc8b458ee3 Add menu_display_switch.c 2018-09-12 20:01:56 +02:00
twinaphex 517b1b9089 Add HAVE_LIBNX ifdefs to switch_input.c/switch_joypad.c, and
features_cpu.c
2018-09-12 19:54:51 +02:00
twinaphex 6139f8846a (NSW) We now have only one non-threaded audio driver for both SDKs instead of
two
2018-09-12 19:37:38 +02:00
twinaphex 213a56c59f Get rid of RESULT_OK usage 2018-09-12 18:58:12 +02:00
twinaphex 677cb30982 (NSW) Start unifying both libtransistor and libnx switch audio drivers 2018-09-12 18:29:25 +02:00
radius fed74b9e70 [discord] populate data correctly 2018-09-12 01:45:28 -05:00
radius 4d0729187f [discord] start getting ready for ask-to-join functionality, cleanup some of the mess 2018-09-12 01:45:27 -05:00
twinaphex 2a7a2e7dee (LIBNX) Start backporting libnx code; beginning with audio drivers 2018-09-12 08:14:17 +02:00
twinaphex 9cbd7ec6f3 (RGUI) Add some Switch ifdefs to RGUI 2018-09-12 08:01:19 +02:00
twinaphex bf75e6b9d7 video_context_driver_swap_interval - add in safeguard 2018-09-12 07:16:33 +02:00
Twinaphex 9017e209e8 Update CHANGES.md 2018-09-12 06:44:53 +02:00
Twinaphex d52f5cc0d4 Update CHANGES.md 2018-09-12 06:43:33 +02:00
twinaphex 650c173125 Turn public functions into static functions 2018-09-12 06:39:07 +02:00
twinaphex 3c160a6eb4 Create video_driver_get_all_flags 2018-09-12 06:31:41 +02:00
twinaphex 3f8e3547f4 (GLX) swap_control_tear should now be implemented and working 2018-09-12 04:17:41 +02:00
twinaphex 58472cb696 Silence some warnings 2018-09-12 04:09:19 +02:00
twinaphex 914df58d2e (WGL) Adaptive Vsync should work now for WGL 2018-09-12 03:59:25 +02:00
twinaphex 98b20d4e5d (GLX/WGL) Start implementing adaptive VSync (swap_control_tear) for GLX/WGL pt. 1 2018-09-12 02:42:24 +02:00
Twinaphex 9bf2fb8f79 Merge pull request #7209 from RetroSven/master
provide a means for cores to coordinate with the frontend when shutting down multiple threads gracefully
2018-09-12 00:54:04 +02:00
Sven 3c0eadbdf2 per request 2018-09-11 18:52:51 -04:00
Sven b771a3e0f5 move libretro.h defines to retroarch.h 2018-09-11 18:45:01 -04:00
twinaphex 4738ef545c Change interval type to signed int 2018-09-12 00:08:13 +02:00
Sven d8796732aa provide a means for cores to coordinate with the frontend when shutting down multiple threads gracefully 2018-09-11 13:29:20 -04:00
Twinaphex 5d8c268afc Update CHANGES.md 2018-09-11 06:39:07 +02:00
Twinaphex c876342057 Update CHANGES.md 2018-09-11 06:38:22 +02:00
Twinaphex 91b945e529 Update CHANGES.md 2018-09-11 06:37:56 +02:00
Twinaphex f96db78b3d Update CHANGES.md 2018-09-11 06:36:45 +02:00
Twinaphex 83c3bd31c6 Update CHANGES.md 2018-09-11 06:36:12 +02:00
Twinaphex 21684a80ad Update CHANGES.md 2018-09-11 06:35:43 +02:00
Twinaphex a0d87dd68d Merge pull request #7207 from altiereslima/master
Update brazilian portuguese translation
2018-09-11 06:26:13 +02:00
altiereslima 3a6290887a Update brazilian portuguese translation 2018-09-11 01:21:42 -03:00
Twinaphex ae3a53185b Merge pull request #7206 from bparker06/lobby_host_room
netplay: save lobby details received back from server after first announcement
2018-09-11 03:30:09 +02:00
Brad Parker 7a76c6a4da netplay: save lobby details received back from server after first announcement 2018-09-10 21:01:46 -04:00
Twinaphex 90580d2ae1 Merge pull request #7204 from alphanu1/master
Multiple fixes
2018-09-10 21:02:14 +02:00
alphanu1 f576266ace Update dispserv_x11.c 2018-09-10 19:36:57 +01:00
twinaphex e403b8fb1e C89 buildfixes 2018-09-10 20:35:30 +02:00
Twinaphex 7e4d0b3b41 Merge pull request #7205 from Themaister/master
Vulkan: Fix race condition in threaded mailbox emulation.
2018-09-10 20:01:20 +02:00
Themaister a1989afba9 Vulkan: Fix race condition in threaded mailbox emulation. 2018-09-10 19:35:13 +02:00
alphanu1 d32993411e Merge pull request #90 from alphanu1/alphanu1-patch-83
fixes
2018-09-10 18:25:44 +01:00
alphanu1 4328c075e8 fixes 2018-09-10 18:25:32 +01:00
alphanu1 c1e6de96a6 Merge pull request #89 from alphanu1/alphanu1-patch-82
re introduced snprintf
2018-09-10 18:13:10 +01:00
alphanu1 6c2d11b414 re introduced snprintf 2018-09-10 18:12:44 +01:00
alphanu1 d4e43b15c1 Merge pull request #88 from alphanu1/alphanu1-patch-81
xrandr spamming fix
2018-09-10 18:10:06 +01:00
alphanu1 7c05922d36 xrandr spamming fix
also re introduced snprintf
2018-09-10 18:09:42 +01:00
alphanu1 340515a9fa Update dispserv_x11.c 2018-09-10 18:08:49 +01:00
alphanu1 522d30d52d Merge pull request #86 from alphanu1/alphanu1-patch-79
xrandr spamming fix
2018-09-10 17:42:44 +01:00
alphanu1 d8c36e5bb8 xrandr spamming fix 2018-09-10 17:42:33 +01:00
alphanu1 7e7f95f2fe Merge pull request #85 from alphanu1/alphanu1-patch-78
Xrandr sapmming fix
2018-09-10 17:40:09 +01:00
alphanu1 30d7ef898d Xrandr sapmming fix 2018-09-10 17:39:52 +01:00
alphanu1 adb0542748 Merge pull request #84 from libretro/master
update
2018-09-10 17:35:58 +01:00
bparker06 d8b4d1fdff Update CHANGES.md 2018-09-10 10:15:06 -04:00
Raphael Zumer ab384b8afb Update msg_hash_ja.h (#7203)
* Fix some incorrect labels
* Word some labels more naturally
* Use RetroAchievements instead of レトロ実績
2018-09-10 10:14:14 -04:00
Twinaphex 523ee65125 Merge pull request #7201 from rzumer/master
Support headerless NES hashing in cheevos.c
2018-09-10 06:33:54 +02:00
Raphaël Zumer 3a0c450e70 Support headerless NES hashing in cheevos.c 2018-09-10 00:15:52 -04:00
Twinaphex d96117533c Merge pull request #7197 from endrift/master
camera: Fix v4l2 driver that broke years ago
2018-09-10 02:55:38 +02:00
Vicki Pfau 0576c516c4 camera: Fix v4l2 driver that broke years ago 2018-09-09 17:44:03 -07:00
Twinaphex 99debae18e Merge pull request #7193 from QuarkTheAwesome/master
WiiU: Add missing "#include <sys/iosupport.h>" to required files (buildfix)
2018-09-09 18:01:15 +02:00
alphanu1 1b4439413c Update dispserv_x11.c 2018-09-09 12:50:28 +01:00
alphanu1 557fe10bac Merge pull request #83 from alphanu1/alphanu1-patch-77
snprintf broke switching
2018-09-09 11:52:36 +01:00
alphanu1 cf4fff8d31 snprintf broke switching 2018-09-09 11:51:37 +01:00
Ash 751ad68c50 deps/libiosuhax: Fix missing "#include <sys/iosupport.h>" 2018-09-09 18:29:42 +10:00
Ash 9344391bfa WiiU: Fix missing "#include <sys/iosupport.h>" in sd_fat_devoptab 2018-09-09 18:22:48 +10:00
twinaphex bfdb75a30e Add ifdef 2018-09-09 01:28:09 +02:00
Twinaphex 4750342b33 Merge pull request #7192 from alphanu1/master
New porches and interlaced bug fix.
2018-09-08 23:57:23 +02:00
alphanu1 5632ac9f72 Merge pull request #82 from alphanu1/alphanu1-patch-76
New Porch Calc, Matched against an oscilloscope
2018-09-08 22:12:07 +01:00
alphanu1 5c6fc6db7e New Porch Calc, Matched against an oscilloscope 2018-09-08 22:11:31 +01:00
alphanu1 12e2fe9ca0 Merge pull request #81 from alphanu1/alphanu1-patch-75
Fix for crt interlaced bug
2018-09-08 22:09:52 +01:00
alphanu1 952b46f2c1 Fix for crt interlaced bug 2018-09-08 22:09:30 +01:00
alphanu1 719cb86bc0 Merge pull request #79 from libretro/master
Update
2018-09-08 21:12:29 +01:00
Twinaphex 6ea292f2f5 Merge pull request #7191 from Themaister/master
Vulkan: Maintenance fixes
2018-09-08 21:50:28 +02:00
bparker06 18e249e85e travis: install Qt for OSX 2018-09-08 12:04:05 -04:00
Themaister d338dac277 Only do mailbox emulation for fullscreen.
Too large impact on performance in Windowed mode.
2018-09-08 16:27:25 +02:00
Themaister d39f66a738 Emulate mailbox by wrapping acquire in a thread.
Needed on nVidia Windows since they don't support timeout == 0 ...
2018-09-08 15:56:49 +02:00
Themaister 157d1e7e63 Only use mailbox emulation on AMD. 2018-09-08 11:47:58 +02:00
Themaister 66c4f8fd35 Make sure to always clear out swapchain_fence_signalled. 2018-09-08 11:47:58 +02:00
Themaister 9ebac87638 Vulkan: Emulate mailbox on Windows. 2018-09-08 11:47:58 +02:00
Themaister af534f0fa8 Vulkan maintenance fixes.
- Use VkBuffer instead of linear VkImage for staging uploads.
  Not guaranteed to be supported, and desktop IHVs recommend using
  buffers.

- Fix validation error where swapchain recreation with reuse of the old
  VkSwapchainKHR does not create a fence properly, leading to validation
  error next time that swapchain index is observed.
2018-09-08 11:47:58 +02:00
Twinaphex 1155e11cfc Merge pull request #7189 from stuartcarnie/sgc-qt-embedded
chore: Call Makefile.apple to generate Qt moc files
2018-09-08 05:52:59 +02:00
Stuart Carnie 1de3aaadeb chore: Call Makefile.app to generate Qt moc files 2018-09-07 20:32:57 -07:00
twinaphex 61d56e07fa Don't excessively log 2018-09-08 03:15:32 +02:00
Twinaphex fb4f8ff550 Merge pull request #7188 from stuartcarnie/sgc-qt-embedded
feat(macOS): Embed Qt frameworks and frameworks to @executable_path
2018-09-08 02:49:42 +02:00
Stuart Carnie 4d7fe0e96c feat(macOS): Embed Qt frameworks and frameworks to @executable_path
* note that install_name_tool is used to update the frameworks via
  a post-build script
2018-09-07 17:38:46 -07:00
twinaphex df059c585f Implement RETRO_ENVIRONMENT_GET_FASTFORWARDING 2018-09-08 02:19:05 +02:00
twinaphex 7c2da36af9 Prevent warning 2018-09-08 02:11:18 +02:00
Twinaphex 27edbb58e3 Merge pull request #7187 from RetroSven/master
implement libretro private def to allow cores to tell RA to save states in background
2018-09-08 01:41:20 +02:00
Sven b4081d9347 implement libretro private def to allow cores to tell RA to save states in background 2018-09-07 19:09:56 -04:00
Twinaphex 3e27a504ed Merge pull request #7185 from stuartcarnie/sgc-macos-qt
feat(macOS): Initial Desktop UI (Qt) support
2018-09-06 05:37:55 +02:00
Stuart Carnie 428f895b6f feat(macOS): Initial Desktop UI (Qt) support
* Adds new RetroArchQT build target to RetroArch_Metal.xcodeproj

Prerequisites:

* Install Qt Frameworks

    $ brew install qt

* Build `moc` files using

    $ make -f Makefile.apple HAVE_QT=1 Q=/usr/local/opt/qt/bin/moc generate

Limitations:

* Qt frameworks are not embedded in bundle, therefore Qt must be
  installed via the `brew` command
2018-09-05 20:10:54 -07:00
Brad Parker c60fdf0b2e Qt: fix duplicate function name with griffin 2018-09-05 00:07:24 -04:00
Twinaphex 5d529f4ce4 Merge pull request #7178 from RobLoach/config
Update config entries pointer to the new beginning of the list
2018-09-04 14:30:32 +02:00
Brad Parker a48cc2f9b5 travis: unzip quietly so build log is not truncated 2018-09-03 20:00:03 -04:00
Brad Parker c64a75c58a travis: clean up OSX Metal image and add assets 2018-09-03 19:50:04 -04:00
Andre Leiradella 377d256ce9 Properly initialize cheevos_locals 2018-09-03 22:51:07 +01:00
Andre Leiradella 4c01697d3f Use the correct console id 2018-09-03 19:17:03 +01:00
Rob Loach 9da261c6d9 Update config entries pointer to the new beginning of the list after sorting 2018-09-03 13:31:46 -04:00
Brad Parker 9214f6079f travis: go to correct folder to deploy Metal 2018-09-03 09:37:59 -04:00
Brad Parker 511dcb0d56 travis: build Metal with libretro-super instead 2018-09-03 09:07:04 -04:00
Brad Parker b2c704862a travis: deploy OSX Metal build 2018-09-02 21:57:06 -04:00
Twinaphex c57e259fa7 Update CHANGES.md 2018-09-03 03:11:23 +02:00
Twinaphex 4409c61730 Update CHANGES.md 2018-09-03 03:10:36 +02:00
Twinaphex e224d1cd04 Update CHANGES.md 2018-09-03 03:10:08 +02:00
Twinaphex 96d27b6ac6 Update CHANGES.md 2018-09-03 03:09:37 +02:00
Twinaphex 9c53dc3797 Merge pull request #7176 from stuartcarnie/sgc-metal
Metal: Add support for screen shots
2018-09-03 03:00:36 +02:00
Stuart Carnie 99f497de85 feat(Metal): Add support for screen shots 2018-09-02 17:55:02 -07:00
Stuart Carnie 9d22aacaa7 refactor: Add vertex buffer struct to ShaderTypes and remove global 2018-09-02 17:53:18 -07:00
Twinaphex c41f331e2a Merge pull request #7175 from stuartcarnie/sgc-revert-config
Revert "fix(gfx): Move enum to end to avoid breaking existing config
2018-09-02 22:05:47 +02:00
Stuart Carnie 8a63ace201 Revert "fix(gfx): Move enum to end to avoid breaking existing configurations"
This reverts commit 93b79fa
2018-09-02 13:03:16 -07:00
Twinaphex 6463f7005b Merge pull request #7174 from stuartcarnie/sgc-metal
Fix crashes for metal; buffer overflow in xmb; Metal fullscreen issue
2018-09-02 21:55:10 +02:00
Stuart Carnie f1ad1ff444 fix(Metal): Fix invalid selector
Removed selector logic and wrapped in HAVE_METAL, given this is only
called when Metal is enabled.
2018-09-02 12:51:34 -07:00
Stuart Carnie 611e484633 fix(xmb): Fix buffer overflow 2018-09-02 12:49:44 -07:00
Twinaphex 4d12eaf685 Merge pull request #7173 from hiddenasbestos/oem102
Support for "OEM-102" key (usually '\' on Euro keyboards)
2018-09-02 19:40:31 +02:00
David Walters b592f254b9 Support for "OEM-102" key (usually '\' on Euro keyboards) 2018-09-02 18:24:51 +01:00
Andre Leiradella 2d7c4b4f9d Use CHEEVOS_TAG 2018-09-02 15:11:33 +01:00
Andre Leiradella 0f6cdde65b Fixed indentation 2018-09-02 15:00:42 +01:00
Andre Leiradella ae5ff31b45 Fixed screenshot code after merge 2018-09-02 14:56:12 +01:00
Andre Leiradella 7b5e317ad0 Fix merge error 2018-09-02 14:50:16 +01:00
Andre Leiradella 83169e5fcb Merge branch 'master' into integrate_rcheevos 2018-09-02 14:46:48 +01:00
Andre Leiradella 84124fc70c Removed duplicated Lua files 2018-09-02 14:34:47 +01:00
Andre Leiradella 720ecaff17 Updated rcheevos to 7.0.0 2018-09-02 14:32:08 +01:00
Andre Leiradella 613a3e8479 Integrated rcheevos 2018-09-02 14:23:37 +01:00
Twinaphex d4cb24f8d1 Merge pull request #7148 from alfrix/master
Add neoactive and retroactive to menu icons
2018-09-02 03:42:03 +02:00
Brad Parker a86454d30c Qt: fix file browser downloads button not scrolling correctly on first click 2018-09-01 21:25:07 -04:00
Gregor Richards 7634b1bbb0 Fix netplay on Wii U
getaddrinfo on Wii U doesn't support node==NULL. As I don't know of this
bug on any other platform, I've made a Wii-U-specific workaround in
getaddrinfo_retro.
2018-09-01 21:14:56 -04:00
Stuart Carnie eadc3f4a91 fix(Metal): Fix SIGFAULT if any attribute is 0 2018-09-01 16:13:23 -07:00
Stuart Carnie 6b7572d166 fix(macOS): Fix stack overflow when raising Metal shader load event 2018-09-01 16:12:43 -07:00
Twinaphex 4f4b1c182f Merge pull request #7167 from Themaister/master
Fix glslang_format LUT.
2018-09-01 22:51:29 +02:00
Themaister 1d7dfc5f47 Fix glslang_format LUT.
Was logging wrong format names.
2018-09-01 22:46:47 +02:00
Stuart Carnie 802697fdec fix(Metal): Use textures for pixel conversion 2018-09-01 11:58:37 -07:00
Stuart Carnie 577d81071e fix(Metal): Cleanup shader logging messages 2018-09-01 11:58:37 -07:00
Stuart Carnie 1264e9c533 fix(Metal): Use ifdef syntax; add correct default for Metal build 2018-09-01 11:58:37 -07:00
Stuart Carnie 93b79fac90 fix(gfx): Move enum to end to avoid breaking existing configurations
* `aspect_ratio_index` relies on the ordinal values not changing
2018-09-01 11:58:37 -07:00
Twinaphex 4457bad631 Merge pull request #7165 from kwyxz/haiku-mbedtls-fix
mbedtls in 1.7.4 broke Haiku build
2018-09-01 13:58:09 +02:00
Benjamin FRANCOIS c723f13753 This allows building on Haiku after disabling Discord 2018-09-01 07:25:06 +00:00
Twinaphex 4e0c2314d9 Define HAVE_SSL for OSX 2018-09-01 04:22:57 +02:00
twinaphex 34e295ec51 Add net_socket_ssl.cto griffin 2018-09-01 04:20:23 +02:00
twinaphex 2fb8831dcc Uniquely name functions 2018-09-01 04:18:01 +02:00
twinaphex 31df00d52a Uniquely name functions 2018-09-01 04:14:36 +02:00
twinaphex fb047e4622 Uniquely name functions 2018-09-01 04:12:58 +02:00
twinaphex 18203f4d30 Cleanups 2018-09-01 04:11:16 +02:00
twinaphex 6d29cde453 (SSL) Name functions uniquely 2018-09-01 04:09:59 +02:00
twinaphex e83504002d (SSL) Make these functions unique 2018-09-01 04:08:27 +02:00
Twinaphex 93af9baf48 Remove warning 2018-09-01 04:04:15 +02:00
twinaphex 23eb1e981a Remove HAVE_STRIPES from OSX build 2018-09-01 04:01:03 +02:00
twinaphex d5fa379aa8 Update header 2018-09-01 03:54:47 +02:00
Twinaphex 1ad6291c79 Merge pull request #7163 from Tatsuya79/patch-5
fix task_save.c
2018-09-01 01:53:09 +02:00
Tatsuya79 dd9db41403 fix task_save.c 2018-09-01 01:50:30 +02:00
Twinaphex 09284dc6ce Merge pull request #7162 from Tatsuya79/patch-4
revert #7156
2018-09-01 01:46:41 +02:00
Tatsuya79 64459bda3a revert #7156
revert https://github.com/libretro/RetroArch/pull/7156
2018-09-01 01:41:21 +02:00
twinaphex 64cc28a487 Update 2018-09-01 01:14:26 +02:00
twinaphex c0c88173a0 (CocoaTouch) Fix some function callback signatures 2018-09-01 01:07:14 +02:00
Twinaphex 65535a1259 Cleanups 2018-09-01 01:03:58 +02:00
twinaphex 10f374182f Revert "Change these ifdefs"
This reverts commit 245f265098.
2018-08-31 21:49:16 +02:00
twinaphex 245f265098 Change these ifdefs 2018-08-31 21:48:58 +02:00
twinaphex 85f093e042 Change these to numbers 2018-08-31 21:25:33 +02:00
neville 8c3479f850 (OSX PowerPC) PowerPC Fixed 2018-08-31 21:22:37 +02:00
bparker06 ad15f76ff5 travis: add OSX Metal build 2018-08-31 13:49:44 -04:00
neville bd43682341 Use dynamic lookup code path 2018-08-31 19:37:40 +02:00
Twinaphex 832bf6d6e8 Get rid of this compile-time ifdef 2018-08-31 19:29:11 +02:00
twinaphex a58511ec00 Revert "Compatibility fixes for OSX PPC"
This reverts commit d7899c51aa.
2018-08-31 19:20:10 +02:00
twinaphex 70f9abe99f Revert "Add conditionals to maintain backwards compatibility with OSX 10.5"
This reverts commit 1222192afb.
2018-08-31 19:20:03 +02:00
twinaphex 0b069c4ee3 Revert "Use constant values instead of MAC_OS_X_VERSION_ - might not be available on earlier OSX versions/xcode"
This reverts commit f35b578c42.
2018-08-31 19:19:56 +02:00
twinaphex 1265d7546c Revert "Start using raw constants for OSX version detection"
This reverts commit ab34a70873.
2018-08-31 19:19:42 +02:00
twinaphex c7af7ae00d Revert "Add conditionals for OSX 10.6 and higher"
This reverts commit 7f7f23d08b.
2018-08-31 19:19:35 +02:00
twinaphex 91145e02c6 Revert "OSX PowerPC - gets it compiling and linking again but doesn't work -"
This reverts commit f16ec700a9.
2018-08-31 19:19:27 +02:00
Twinaphex e2a650cb26 Remove unused variable 2018-08-31 19:02:47 +02:00
Twinaphex 4a30ec5623 Update CHANGES.md 2018-08-31 18:44:24 +02:00
Twinaphex b86164cccb Merge pull request #7159 from bparker06/qt_filterarchives
Qt: add option to filter extensions inside archives when adding to a playlist
2018-08-31 17:50:59 +02:00
Brad Parker 230787808c Qt: fix playlist title when adding a folder with one item 2018-08-31 09:16:45 -04:00
Brad Parker faaf84aef3 Qt: do not show right-click menu for file browser contents 2018-08-31 09:05:22 -04:00
Twinaphex 41f7de72cd Merge pull request #7157 from RobLoach/configure
libretro-common: Restore libretro-common/audio/dsp_filters/configure
2018-08-31 05:48:47 +02:00
Brad Parker 30fb23ccbe Qt: add option to filter extensions inside archives when adding to a playlist 2018-08-30 23:06:34 -04:00
Rob Loach c7e6eda438 libretro-common: Restore libretro-common/audio/dsp_filters/configure 2018-08-30 22:23:05 -04:00
twinaphex 7c22f265b8 Update libretro-common 2018-08-31 02:28:20 +02:00
Twinaphex 02e23be127 Merge pull request #7156 from RetroSven/master
push save state into background for cores that need the emulator to be running during serialization
2018-08-30 18:15:29 +02:00
Sven 75abd1f36e Merge remote-tracking branch 'upstream/master' 2018-08-30 12:07:41 -04:00
neville f16ec700a9 OSX PowerPC - gets it compiling and linking again but doesn't work -
left a TODO/FIXME for aussiebloke
2018-08-30 17:45:22 +02:00
twinaphex 7f7f23d08b Add conditionals for OSX 10.6 and higher 2018-08-30 17:38:43 +02:00
Sven b8ab6c1e74 push save state into background for cores that need the emulator to be running to correctly save states 2018-08-30 11:21:31 -04:00
twinaphex ab34a70873 Start using raw constants for OSX version detection 2018-08-30 16:35:44 +02:00
neville f35b578c42 Use constant values instead of MAC_OS_X_VERSION_ - might not be available on earlier OSX versions/xcode 2018-08-30 16:29:58 +02:00
twinaphex 1222192afb Add conditionals to maintain backwards compatibility with OSX 10.5 2018-08-30 16:22:02 +02:00
neville d7899c51aa Compatibility fixes for OSX PPC 2018-08-30 16:18:51 +02:00
neville 5af0e58288 - Unset BOM
- remove non-latin characters - won't compile on OSX PPC otherwise
2018-08-30 16:05:51 +02:00
twinaphex dac4034954 Add PPC ifdefs; kIOHIDUniqueKey is not available on OSX 10.5 2018-08-30 15:56:02 +02:00
twinaphex b1643f9275 (AArch64) Needs to be set to SDK level 26 for Google Play 2018-08-30 01:47:15 +02:00
Brad Parker 2e8361970b Qt: buildfix for older Qt 2018-08-29 18:41:05 -04:00
twinaphex 9d43f7f036 Fix French 2018-08-29 21:25:47 +02:00
Twinaphex a157f2eedd Merge pull request #7152 from bparker06/qt_coreoptions
Qt: initial core options dialog
2018-08-29 17:43:31 +02:00
Brad Parker 5a0017a23e Update CHANGES.md 2018-08-29 11:42:14 -04:00
Brad Parker 56c9a37e5a Qt: initial core options dialog 2018-08-29 11:34:36 -04:00
Brad Parker 95ad8798ee Qt: scrub thumbnail titles according to No-Intro before downloading, fixes #7149 2018-08-29 00:42:34 -04:00
Brad Parker c746115bbd Qt: keep trying to download remaining thumbnails if any fail to open for writing (probably just illegal characters in filename) 2018-08-29 00:25:19 -04:00
twinaphex 7234544669 Update version 2018-08-29 01:48:37 +02:00
Alfrix 107cc364b5 Add neoactive and retroactive to menu icons 2018-08-28 19:43:02 -03:00
Andre Leiradella 3f72e1fd96 Updated rcheevos to 6.5.0 2018-08-28 22:20:38 +01:00
Andre Leiradella 4b2bc29775 Updated rcheevos to 6.4.0 2018-08-28 21:58:13 +01:00
Twinaphex 945f57e3b4 Merge pull request #7147 from alfrix/master
Bind sublabel cheat apply after load
2018-08-28 22:13:06 +02:00
Alfrix 2d9f00f358 Bind sublabel cheat apply after load 2018-08-28 16:37:48 -03:00
Twinaphex d160775263 Merge pull request #7137 from alfrix/xmb_exp
Fallback to a default icon in if there is no playlist icon
2018-08-28 19:51:47 +02:00
Twinaphex 8f043d717c Merge pull request #7145 from alfrix/joselagem
Rebase and fix #6961
2018-08-28 19:39:31 +02:00
Joselagem 613ff650d0 Update languages files US and ES
Update languages files US and ES
Actualización de los archivos de idioma US y ES
2018-08-28 14:34:13 -03:00
Brad Parker 3010ef8775 Qt: do not create a new playlist if a name was not specified 2018-08-28 11:34:08 -04:00
Brad Parker 44eb97206a Qt: fix canceling of thumbnail downloads, use QDir comparison instead of string-based to honor case-insensitivity on Windows 2018-08-28 09:01:25 -04:00
Twinaphex 96e14c0b61 Merge pull request #7139 from bparker06/qt_playlist_thumbnail
Qt: add right-click for playlists to download thumbnails for the current entries
2018-08-28 05:31:51 +02:00
Brad Parker d8913d5d3a Qt: add right-click for playlists to download thumbnails for the current entries 2018-08-27 23:29:44 -04:00
Twinaphex 0c6eea5030 Merge pull request #7138 from altiereslima/master
Update brazilian portuguese translation
2018-08-28 00:19:54 +02:00
Brad Parker 38f3d06d08 Qt: use C locale for numbers, otherwise slang shaders can break 2018-08-27 17:56:53 -04:00
altiereslima 0116f675b9 Update brazilian portuguese translation 2018-08-27 17:21:56 -03:00
Twinaphex fa110c5bb2 Merge pull request #7124 from orbea/clang
Silence -Wunknown-warning-option warnings with clang.
2018-08-27 20:49:02 +02:00
Brad Parker 23836bfba9 use_thread option for screenshot was backwards 2018-08-27 13:38:43 -04:00
Twinaphex ea87bb5a1d Merge pull request #7122 from orbea/vulkan
Fix segfaults when starting vulkan without a working vulkan driver.
2018-08-27 18:59:00 +02:00
twinaphex 8a5d092e5b (dispserv_x11.c) Make variable bigger to avoid all the warnings and use snprintf 2018-08-27 16:09:12 +02:00
Alfrix 6d1e04dd9c Cleanup 2018-08-27 10:45:07 -03:00
Alfrix aa0889ec29 Fallback to default icon in custom playlists 2018-08-27 10:43:31 -03:00
Twinaphex 503b42d161 Merge pull request #7134 from Dwedit/runahead-input-fix
Deterministic input for RunAhead, guaranteed to match the last polled input
2018-08-27 13:52:36 +02:00
Twinaphex d2d9989ef1 Merge pull request #7135 from bparker06/qt_thumbnailpack
Qt: add right-click option for playlists to download their thumbnail packs
2018-08-27 13:51:57 +02:00
Brad Parker 21f99b9965 Qt: add right-click for playlists to download their thumbnail packs 2018-08-26 23:24:43 -04:00
Brad Parker 98fadf9b1f Qt: remove partially downloaded thumbnail if transfer is canceled 2018-08-26 23:24:22 -04:00
Twinaphex 4a951cb369 Merge pull request #7133 from alfrix/xmb_exp
Fix themes without menu icons
2018-08-27 01:04:51 +02:00
Alfrix 461dbf39ba Fix themes without menu icons 2018-08-26 20:00:36 -03:00
Brad Parker 32345e37f8 Qt: OPENSSL_VERSION_AT_LEAST was reverted in openssl git because it is in fact broken 2018-08-26 18:14:08 -04:00
Brad Parker 9638005332 Qt: add UI option to set startup playlist, fixes #7103 2018-08-26 17:17:45 -04:00
Brad Parker 12f1d003bb Qt: openssl 1.1.0 broke their ABI 2018-08-26 16:04:01 -04:00
Brad Parker 1d6a69d198 Qt: remove partially downloaded files on failure 2018-08-26 12:04:18 -04:00
Brad Parker 49e5fcd0cc Qt: only use openssl if we have it 2018-08-26 10:44:55 -04:00
Brad Parker 7731db9ed8 Qt: link to openssl so Qt will have it for later 2018-08-26 10:40:33 -04:00
Brad Parker 78f5aba04b Qt: fix filename used for thumbnail download 2018-08-26 10:40:08 -04:00
Dwedit 821462409e Deterministic input for RunAhead, guaranteed to match the last polled input. 2018-08-26 00:22:19 -05:00
Twinaphex adb72755e1 Merge pull request #7127 from altiereslima/master
Update brazilian portuguese translation
2018-08-25 21:52:57 +02:00
Twinaphex 6093a56919 Merge pull request #7123 from bparker06/qt_thumbnail
Qt: add right-click option to download thumbnail for playlist entries
2018-08-25 21:52:44 +02:00
altiereslima 8c7526d8ef como sempre... 2018-08-25 16:38:26 -03:00
altiereslima 3d056bc8c4 Update brazilian portuguese translation 2018-08-25 16:24:17 -03:00
orbea 3c6e42ccf6 Silence -Wunknown-warning-option warnings with clang.
When building CXX code with clang it will print many warnings.

warning: unknown warning option '-Wno-maybe-uninitialized'; did you mean '-Wno-uninitialized'? [-Wunknown-warning-option]

However removing this flag does not introduce any warnings so it
should be safe to remove.
2018-08-25 06:37:33 -07:00
Brad Parker e9e424ec82 Qt: add right-click option to download thumbnail for playlist entries 2018-08-25 01:00:18 -04:00
orbea 260ce526c2 Fix segfaults when starting vulkan without a working vulkan driver.
RetroArch will crash in several places when running vulkan in an
environment that does not have working vulkan drivers.

This should guard against those crashes and allow RetroArch to fail
safely in those cases.
2018-08-24 19:36:03 -07:00
Twinaphex a6d5931412 Merge pull request #7120 from alfrix/xmb_exp
Add automatic and systematic to menu icons
2018-08-25 00:22:37 +02:00
Twinaphex 07509a8ec8 Merge pull request #7121 from orbea/video_driver
Default to gl instead of vulkan.
2018-08-25 00:22:18 +02:00
orbea d8ea30881d Default to gl instead of vulkan.
If the video_driver is set incorrectly it will default to vulkan
instead of gl. However its possible to have RetroArch built with
vulkan even with no working vulkan drivers and this will cause a
segfault.

Defaulting to gl again should be a safer default which should crash
for fewer users.

Fixes https://github.com/libretro/RetroArch/issues/5568.
2018-08-24 13:55:09 -07:00
Alfrix 8dfeaba30b Add automatic and systematic to menu themes 2018-08-24 16:10:19 -03:00
Twinaphex b095511e97 Merge pull request #7117 from alfrix/xmb_exp
Add Automatic theme
2018-08-23 21:57:52 +02:00
Alfrix c39ce0e04b Add Automatic theme
It has been in the assets folder a long time by now
2018-08-23 16:41:07 -03:00
Twinaphex f357526a57 Merge pull request #7116 from altiereslima/master
Update brazilian portuguese translation
2018-08-23 18:46:33 +02:00
altiereslima 6e9a8a9dd9 fix 2018-08-23 13:23:03 -03:00
altiereslima 49b785b9dc Update brazilian portuguese translation
Added some missing strings.
Aligned with msg_hash_us.h
2018-08-23 13:03:36 -03:00
Brad Parker 6464003d5f Qt: use id instead of array index for shader params, fix empty window on vulkan 2018-08-23 11:42:31 -04:00
Twinaphex ea35fe85f6 Merge pull request #7114 from hyarsan/master
Make the Show Desktop Menu sublabel sound better
2018-08-23 15:38:32 +02:00
Yarsan Hoessain 27147226a0 Make the Show Desktop Menu sublabel sound better 2018-08-23 15:27:09 +02:00
Brad Parker 88cecc521a Qt: hopefully parameters are fixed now part 2 2018-08-22 22:51:50 -04:00
Twinaphex da3888dd68 Merge pull request #7111 from alfrix/xmb_exp
Add Retrosystem to the support list of menu icons
2018-08-23 02:19:59 +02:00
Alfrix fb15edebc3 Add Retrosystem to the support list of menu icons 2018-08-22 19:52:27 -03:00
Twinaphex 376dd85715 Merge pull request #7110 from alfrix/xmb_exp
Change start core icon
2018-08-22 22:46:22 +02:00
Alfrix 947113d007 Change start core icon 2018-08-22 16:31:02 -03:00
Twinaphex c93cf0f362 Merge pull request #7108 from alfrix/xmb_exp
Don't show the pipeline option it was disabled in the build
2018-08-22 17:59:41 +02:00
Alfrix b118e45d49 Don't show the pipeline option it was disabled in the build 2018-08-22 12:51:59 -03:00
Brad Parker 8ff257290c Qt: hopefully parameters are fixed now 2018-08-21 21:20:25 -04:00
Brad Parker 67653ba5f0 Qt: try to fix wrong parameter being set in a different way 2018-08-21 21:01:56 -04:00
Brad Parker 0b9adb3938 Qt: fix pass parameters switched around on context reset if move up/down buttons were used 2018-08-21 19:16:18 -04:00
Brad Parker 498ed160bb Qt: fix shader passes disappearing on context reset 2018-08-21 18:25:25 -04:00
Twinaphex 0300e8a544 Merge pull request #7107 from TheMrIron2/master
PSP: Slightly more aggressive optimisation
2018-08-22 00:20:01 +02:00
Twinaphex 9740ede4da Merge pull request #7089 from winneon/discord_improvements
wip - discord: added new discord-rpc statuses & updated discord-rpc calls to stay more consistent
2018-08-21 22:48:59 +02:00
TheMrIron2 96023ea469 PSP: Slightly more aggressive optimisation
- O3 flag replacing O2 for higher level of optimisation. Potentially unstable, but works for Wii U RetroArch along with other PSP emulators. I don't see why not.
- fsingle-precision-constant to simplify some operations. Should be safe while being more performant due to using less memory traffic and may lessen load on the CPU because of the simplification.
2018-08-21 20:48:55 +00:00
Jesse Bryan 5bda0b3a61 general: fixed the merge conflict 2018-08-21 14:57:59 -05:00
Twinaphex dfe0a81206 Merge pull request #7106 from alfrix/spanish
Update Spanish
2018-08-21 20:35:13 +02:00
Alfrix fad5569d99 Cleanup styling 2018-08-21 15:30:02 -03:00
Alfrix 052424ffd2 Update Spanish 2018-08-21 15:30:02 -03:00
Twinaphex 8e76145278 Merge pull request #7105 from alfrix/xmb_exp
Change Reset core association icon to undo
2018-08-21 19:43:44 +02:00
Brad Parker 06daa1f9ef Qt: start on history playlist by default, UI option to change it will come later 2018-08-21 13:39:22 -04:00
Twinaphex 94ec9233f6 Merge pull request #7104 from Tatsuya79/patch-3
rename vrr runloop option
2018-08-21 19:19:46 +02:00
Alfrix 8984162e0f Change Reset core association icon to undo 2018-08-21 14:19:35 -03:00
Tatsuya79 1c8f2beca3 update vrr runloop help 2018-08-21 18:47:06 +02:00
Tatsuya79 45bcd62f34 rename vrr runloop option 2018-08-21 18:45:22 +02:00
Brad Parker cc16c45069 Qt: keep size of shader window when reloading if user has changed it 2018-08-21 11:14:42 -04:00
Jesse Bryan f6a0b09e7d general: renamed rpcname to systemid 2018-08-21 09:41:16 -05:00
Brad Parker 281966a14c Qt: make sure video_shader exists 2018-08-21 10:15:00 -04:00
Jesse Bryan c276f9349a discord: remove hardcoded values and use new attribute 2018-08-20 20:55:44 -05:00
Brad Parker 6a4584e301 Update CHANGES.md 2018-08-20 21:49:50 -04:00
Brad Parker ff09503ac1 Qt: add right-click options to reset shader parameters back to defaults 2018-08-20 21:48:59 -04:00
Brad Parker 4d09ddde1c Qt: limit shader preset/pass selection to the appropriate extensions 2018-08-20 20:26:50 -04:00
Brad Parker e9c68597ff Qt: try to work around layout crashing issues on Windows 2018-08-20 18:47:18 -04:00
Jesse Bryan ea561c8dfe discord: see the previous commit message 2018-08-20 14:16:52 -05:00
Jesse Bryan f507905345 discord: fixed the corename comparison statement 2018-08-20 14:14:35 -05:00
Jesse Bryan bb451d59e8 discord: hardcoded non-essential cores into discord.c 2018-08-20 14:03:06 -05:00
Brad Parker 0ed43eb908 Qt: fix tool button handling on shader window 2018-08-20 12:57:05 -04:00
Jesse Bryan 44180e55b1 Merge branch 'master' of https://github.com/libretro/RetroArch into discord_improvements 2018-08-20 08:30:57 -05:00
Jesse Bryan 7568d35086 discord: replace forward slashes with underscores 2018-08-20 08:30:54 -05:00
Brad Parker 3ad54bc9ca Qt: revert paintEvent changes, only keep one for ShaderParamsDialog 2018-08-19 19:27:06 -04:00
Brad Parker 8380ad61f9 Qt: add missing paintEvent overrides for stylesheet correctness 2018-08-19 18:54:13 -04:00
Brad Parker b60df44b59 Qt: add load/save/remove/apply buttons to top of shaders dialog 2018-08-19 16:26:23 -04:00
Twinaphex d9f7afbf77 Merge pull request #7098 from RobLoach/pkg-mame2003plus
ctr: Add MAME 2003 Plus
2018-08-19 18:55:09 +02:00
Rob Loach 5ba4103f6e pkg: Add MAME 2003 Plus 2018-08-19 12:49:47 -04:00
Brad Parker d571bfaf17 Qt: use native path separators for file browser content 2018-08-19 11:46:33 -04:00
Brad Parker f6dc3345e9 Qt: use native path separators for folder scan from file browser, fixes #7084 2018-08-19 11:05:25 -04:00
twinaphex 821ffc9962 Clang scan-build error fix 2018-08-19 16:13:13 +02:00
Twinaphex b0f21e7c2e Merge pull request #7097 from Tatsuya79/patch-2
[Desktop Menu] update dark theme
2018-08-19 16:03:23 +02:00
Tatsuya79 9e9fb5803e Update ui_qt_themes.h 2018-08-19 16:00:19 +02:00
Tatsuya79 c051bae1bd Update ui_qt_themes.h 2018-08-19 15:56:19 +02:00
Twinaphex e6576c8239 Merge pull request #7088 from alfrix/xmb_exp
XMB add an option to show desktop ui aka WIMP
2018-08-19 15:55:38 +02:00
Tatsuya79 a309400305 name gridLayoutWidget 2018-08-19 15:54:56 +02:00
Twinaphex e35623d492 Merge pull request #7093 from bparker06/max_frames_ss
command-line parameters for screenshotting after max_frames is reached
2018-08-19 06:23:31 +02:00
Brad Parker b1dde87ce5 add --max-frames-ss and --max-frames-ss-path parameters for taking a screenshot after max_frames is reached 2018-08-18 23:09:40 -04:00
Brad Parker b0146abd11 add fullpath and use_thread parameters to take_screenshot() 2018-08-18 23:08:55 -04:00
Jesse Bryan 7755c9ae55 discord: removed the icon warning and uncommented the necessary line 2018-08-18 21:21:56 -05:00
Jesse Bryan cdbe19e213 discord: fix merge conflicts 2018-08-18 21:16:12 -05:00
alfrix e0d99d7da2 Change UI to menu 2018-08-18 22:22:40 -03:00
Brad Parker c00fd41b93 Qt: style fixup for filter/scale/move shader options 2018-08-18 19:07:58 -04:00
Brad Parker 380cd7ac53 Qt: add move up/down button for shader passes 2018-08-18 18:03:51 -04:00
alfrix 70d0458180 Add sublabel for 'Show desktop ui' 2018-08-18 18:16:19 -03:00
Twinaphex ea946b5c97 Merge pull request #7092 from Dwedit/attach_console
Attach console before displaying Version information, Help, or Features.
2018-08-18 21:06:15 +02:00
alfrix b915fd095d Fix focus for windows platforms (Tatsuya) 2018-08-18 15:14:41 -03:00
alfrix d2e4832ebe QT fix focus (bparker) 2018-08-18 15:10:41 -03:00
alfrix 105fba6abe XMB add an option to show desktop ui aka WIMP 2018-08-18 15:10:40 -03:00
Dwedit f01894ebe4 Attach console before displaying Version information, Help, or Features. 2018-08-18 12:43:49 -05:00
Brad Parker 894d460821 Qt: add "current shader" prefix to window title 2018-08-18 13:04:53 -04:00
Brad Parker 0a9891def1 Qt: fix checkbox setting of shader parameters 2018-08-18 13:00:39 -04:00
Brad Parker e78f2f63f7 Qt: fix changing of double spinbox values 2018-08-18 12:39:28 -04:00
Brad Parker e4834250b9 Qt: set shader dialog title to current preset/shader name 2018-08-18 12:39:17 -04:00
twinaphex 90efa02718 Fix more scan-build issues 2018-08-18 16:16:17 +02:00
Twinaphex f07b8b1965 Merge pull request #7090 from Dwedit/fix_missing_content
Fix console mode loading core without content
2018-08-18 16:06:41 +02:00
twinaphex 646e64c28c Fix some clang scan-build warnings/errors 2018-08-18 15:56:44 +02:00
Dwedit 0e34c12d5c Fixed bug that let Retroarch proceed to retro_run without loading content
Removed unlocalized and redundant error message
2018-08-18 08:40:19 -05:00
Jesse Bryan ea6541b90f discord: remove test rpc client ID 2018-08-18 02:17:08 -05:00
Jesse Bryan fd7d8d9424 Merge branch 'master' of https://github.com/libretro/RetroArch into discord_improvements 2018-08-18 02:12:56 -05:00
Jesse Bryan a0cf6b6b5e discord: added additional discord events and other improvements 2018-08-18 02:12:51 -05:00
Brad Parker 849792dc2c fix memory leaks 2018-08-18 01:15:50 -04:00
Brad Parker dfd85125ad fix null deref 2018-08-18 01:10:05 -04:00
Brad Parker c59cbfc4e8 fix memory leaks 2018-08-18 01:07:57 -04:00
Brad Parker 077ef86bab fix null pointer dereferences 2018-08-18 01:07:51 -04:00
Brad Parker 2f87f669f1 fix null dereference (but scan-build still warns with "Assigned value is garbage or undefined") 2018-08-18 01:00:53 -04:00
Brad Parker 23d7fbcaf3 fix memory leaks 2018-08-18 00:56:10 -04:00
Brad Parker fbe08aa0c5 fix double free 2018-08-18 00:51:07 -04:00
Brad Parker 1d4cb967f0 fix scan-build error "branch condition evaluates to garbage" 2018-08-18 00:48:40 -04:00
Brad Parker 16459bfa91 Qt: add filter/scale to shader window 2018-08-18 00:33:59 -04:00
Brad Parker b76f3abfbc android: use current package name for external storage 2018-08-17 20:38:56 -04:00
Brad Parker 819e930b89 Qt: move drag&drop context menu into FileDropWidget source 2018-08-17 11:57:47 -04:00
twinaphex 566d0fc0d9 Remove this 2018-08-17 17:43:28 +02:00
twinaphex ae0d9fd60d (Wayland) Buildfixes 2018-08-17 17:42:14 +02:00
Brad Parker 1fba7df859 use existing src folder for android64 instead of duplicating it 2018-08-17 09:40:13 -04:00
twinaphex 7250181319 Add some __WINRT__ ifdefs 2018-08-17 14:51:27 +02:00
Brad Parker e2ff7478ca don't return uninitialized data 2018-08-17 07:49:25 -04:00
Brad Parker f130b261f4 Qt: Linux buildfix 2018-08-16 23:14:52 -04:00
Brad Parker 1966b04832 Qt: windows buildfix 2018-08-16 22:58:35 -04:00
Brad Parker 648705154e Qt: split functions into separate files 2018-08-16 22:48:31 -04:00
Brad Parker 6ef3567ea5 Qt: reset shader params window when passes are set to 0 2018-08-16 22:48:07 -04:00
twinaphex cfd15687d1 Buildfix 2018-08-16 22:01:24 +02:00
twinaphex f9e8737476 Remove libui - we don't need it anymore now that we have the Qt desktop
UI
2018-08-16 21:34:20 +02:00
twinaphex 35991f5feb Don't use == NULL 2018-08-16 21:32:14 +02:00
twinaphex b28af7734f MSVC 2012 solution works now 2018-08-16 21:18:37 +02:00
twinaphex 4a54826d9b Remove unused variable 2018-08-16 21:14:56 +02:00
twinaphex a1d5b0fd03 Update MSVC 2012 solution 2018-08-16 20:49:31 +02:00
Brad Parker 12539f310d use strl functions 2018-08-16 13:51:44 -04:00
twinaphex d3c6fc1601 Add initial MSVC 2012 solution 2018-08-16 19:29:31 +02:00
Brad Parker 9221e4e845 Discord integration requires a C++ linker 2018-08-16 13:10:22 -04:00
twinaphex 220c84c7a3 Fix strlcat size arguments 2018-08-16 18:53:19 +02:00
twinaphex 6cd6bf993f Fix strlcpy call 2018-08-16 18:30:53 +02:00
twinaphex 0175effb00 Revert "(Menu) change strncpy to strlcpy"
This reverts commit ba67623961.
2018-08-16 16:40:28 +02:00
Brad Parker f8521a5580 Qt: use string literal for themes 2018-08-16 10:20:37 -04:00
Brad Parker 34e48bcbc9 Update AUTHORS.h 2018-08-16 09:29:39 -04:00
Twinaphex e43462cc3e Merge pull request #7048 from alfrix/xmb_exp
(Menu) Add more XMB Icons
2018-08-16 14:45:10 +02:00
Brad Parker 18a6467d4f Qt: update success is not an error 2018-08-16 08:42:40 -04:00
Twinaphex f37898dd01 Merge pull request #7079 from Tatsuya79/patch-1
Desktop UI dark theme updates
2018-08-16 13:31:19 +02:00
Tatsuya79 f750229693 Desktop UI dark theme updates 2018-08-16 13:12:34 +02:00
twinaphex 6001c7f030 (MSVC 2008) Add HAVE_OVERLAY 2018-08-16 11:53:46 +02:00
twinaphex c699889f0c Update MSVC2008 2018-08-16 11:50:51 +02:00
twinaphex 145d4d66f5 Update MSVC 2008 solution 2018-08-16 11:44:51 +02:00
twinaphex d2de72bfb7 Update MSVC 2008 solution 2018-08-16 11:18:56 +02:00
twinaphex a8826c766b (MSVC2008) Update solution 2018-08-16 11:06:22 +02:00
twinaphex fd532414f0 (DSound) Add fallback when we are not building with HAVE_THREADS support 2018-08-16 10:57:33 +02:00
twinaphex 3f4cd71aa3 Cleanups 2018-08-16 10:42:26 +02:00
twinaphex de8c98fdef Remove ID_M_SHADER_PARAMETERS 2018-08-16 10:18:56 +02:00
twinaphex 3fb039f9f0 Update menu_display_metal.m 2018-08-16 10:18:00 +02:00
twinaphex ba67623961 (Menu) change strncpy to strlcpy 2018-08-16 10:15:51 +02:00
twinaphex 75a388cd67 Use strlcpy instead of strncpy in slang_process.cpp 2018-08-16 10:14:42 +02:00
twinaphex c12baad087 Fixup compat_snprintf.c for MSVC 2008 2018-08-16 10:12:17 +02:00
twinaphex 6266065384 Fix more code when compiling without menu support 2018-08-16 09:59:51 +02:00
twinaphex e2e43e6ade Update - make sure non-HAVE_MENU targets can compile 2018-08-16 09:51:03 +02:00
Brad Parker c74c3c9536 Qt: set object names 2018-08-15 21:41:44 -04:00
Brad Parker c663b0f87b Qt: make shader parameter window scrollable if there are too many items to show 2018-08-15 21:40:39 -04:00
twinaphex 921e52e64f Remove old leftover buggy Win32 driver 2018-08-16 00:05:09 +02:00
Brad Parker 9f60a6d17c fix Core Information not appearing after 73f2710 2018-08-15 16:11:05 -04:00
Twinaphex 32d1769968 Merge pull request #7076 from winneon/discord_improvements
discord: use playlist & platform titles when launching content
2018-08-15 21:48:26 +02:00
Twinaphex eee287074c Merge pull request #7077 from bparker06/wimp_shader_param
Qt: Initial shader parameters window
2018-08-15 21:36:34 +02:00
Twinaphex 4d96fddf5e Merge pull request #7061 from wiktorek140/sailfishos-touch
Sailfish OS  device build configuration connected with touch screen support required for device with this OS
2018-08-15 13:30:04 +02:00
twinaphex 1b544d6879 (AArch64) Add separate android phoenix dir 2018-08-15 13:08:06 +02:00
twinaphex c540d83850 (MSVC 2017 Android) Update library name 2018-08-15 12:30:11 +02:00
twinaphex f53349e3dd Move MSVC 2017 files to android/phoenix 2018-08-15 10:46:24 +02:00
Jesse Bryan 2d7cb40537 discord: moved core_info changes to separate PR 2018-08-14 23:40:51 -05:00
Jesse Bryan 010412c895 discord: simplified some lines 2018-08-14 23:26:48 -05:00
Jesse Bryan bf9a8ac4a0 discord: general discord-rpc improvements
Now, if the content was loaded from a playlist, the content name will be the playlist entry's title instead of the filename of the content.

Also, `state` was modified to show the display name of the core, not the
library name. The difference is that the display name shows the platform
as well, not just the core name (i.e. "NEC - PC Engine SuperGrafx (Beetle SGX)" instead of "Mednafen SuperGrafx").
2018-08-14 23:12:47 -05:00
Brad Parker 341cf63399 Qt: show shader pass in parameters window, reload shader params when shader is reloaded 2018-08-14 21:38:52 -04:00
Brad Parker 553394c266 Qt: fix setting of spinbox values when modifying shader parameter sliders 2018-08-14 21:38:45 -04:00
Brad Parker 560149857b shaders: track the pass for each parameter 2018-08-14 18:46:32 -04:00
Brad Parker 4a86d29810 shaders: fix memory leak 2018-08-14 18:44:19 -04:00
Brad Parker 6de4384350 glsl: don't clear the shader source 2018-08-14 18:42:23 -04:00
Brad Parker 572c1ea2d3 Qt: initial shader parameter support 2018-08-14 16:04:48 -04:00
Brad Parker 4a9ef99759 Qt: fix core loading after 73f2710 2018-08-14 16:04:11 -04:00
Twinaphex 135000a5f3 Merge pull request #7074 from RetroSven/master
bugfix: code and state not swapped
2018-08-14 20:04:56 +02:00
Sven 977eac2601 bugfix: code and state not swapped 2018-08-14 13:29:58 -04:00
twinaphex 801bae65e3 Rename files 2018-08-14 17:55:26 +02:00
twinaphex 4fc0d4a194 Rename dir 2018-08-14 17:30:05 +02:00
twinaphex 5ebe5de1b9 Add resource files 2018-08-14 17:24:35 +02:00
twinaphex 00c6fcde84 Add initial VS2017 Android solution - not working yet 2018-08-14 16:04:58 +02:00
twinaphex a6941fb4ed Initial work done on VS2017 solution for Android 2018-08-14 16:02:31 +02:00
twinaphex 48956f3fe4 (MSVC 2008) Add initial MSVC 2008 solution files 2018-08-14 12:18:33 +02:00
twinaphex 16ab69285b (Griffin) Cleanup 2018-08-14 11:45:20 +02:00
twinaphex 6a64e27e3d (D3D8) Add HAVE_MENU ifdefs 2018-08-14 11:41:43 +02:00
twinaphex db9f4697f6 Add HAVE_MENU ifdefs 2018-08-14 11:40:42 +02:00
twinaphex 8c084c70b7 Add HAVE_MENU ifdefs 2018-08-14 11:18:24 +02:00
alfrix b35914fcc0 Fix Stop Netplay Host 2018-08-13 19:41:18 -03:00
Twinaphex 1b542a157d Merge pull request #7073 from flyinghead/fh/stop-audio-after-unload
Close the audio driver after unload_game to avoid threads deadlocks
2018-08-13 15:27:29 -07:00
Flyinghead e52f90926d Close the audio driver after unloading the game to avoid blocking threads that are pushing audio 2018-08-14 00:16:08 +02:00
alfrix ae562614c4 Add dot-art to the supported list in the new XMB icons 2018-08-13 18:42:46 -03:00
twinaphex 66367d41a3 Update libretro-common 2018-08-13 19:56:02 +02:00
alfrix 6e64a39044 Add icons to XMB (limited to Monochrome for now)
Add monochrome inverted to the menu icons
Allow the extra XMB icons in custom theme
Add subsettings
2018-08-13 12:37:45 -03:00
alfrix 8bbc0cb115 Cleanup 2018-08-13 12:37:45 -03:00
Brad Parker b93974faea Qt: update "About RetroArch" logo 2018-08-13 08:42:47 -04:00
twinaphex f657391b2a mbedtls does not support C89 so don't use HAVE_SSL for C89_BUILD 2018-08-13 03:21:08 -07:00
twinaphex 116390b3e8 We should use strlcpy instead of strncpy - this usage of strncpy
was also showing warnings with GCC 8.2
2018-08-13 03:10:02 -07:00
twinaphex 02eb650273 We should use strlcpy instead of strncpy 2018-08-13 03:07:12 -07:00
Brad Parker 0c658debbf update Japanese translation 2018-08-12 22:42:34 -04:00
twinaphex f37ffb7a65 Fix relative path includes 2018-08-12 18:38:05 +02:00
twinaphex be4f592e9e Fix crash at startup when Enable Discord is enabled 2018-08-12 16:33:52 +02:00
twinaphex 356c829f81 Revert "Revert "fix heap-use-after-free""
This reverts commit 6b4cfdc043.
2018-08-12 16:33:24 +02:00
twinaphex 6b4cfdc043 Revert "fix heap-use-after-free"
This reverts commit 73f271021a.
2018-08-12 09:22:32 +02:00
Brad Parker 5fd0664277 fix heap buffer overflow 2018-08-11 21:20:05 -04:00
Brad Parker 73f271021a fix heap-use-after-free 2018-08-11 21:19:56 -04:00
Twinaphex a36442d72d Merge pull request #7069 from bparker06/msvc_version
xmb: show MSVC version next to RetroArch version in lower-left corner
2018-08-11 22:22:01 +02:00
Brad Parker 7b24f884d6 xmb: show MSVC version next to RetroArch version in lower-left corner 2018-08-11 16:20:06 -04:00
Twinaphex 23fe638add Merge pull request #7067 from gouchi/patch-1
Update README.md
2018-08-11 19:04:07 +02:00
gouchi 07b4aed245 Update README.md
fix typo
2018-08-11 18:44:28 +02:00
Brad Parker 325d30f062 Qt: sort core association list case-insensitively 2018-08-10 19:39:04 -04:00
Brad Parker 3d9e7f2c60 Qt: make contributor list static 2018-08-10 19:28:13 -04:00
Twinaphex d352de8133 Merge pull request #7065 from bparker06/contrib
Qt: Add list of contributors to about box
2018-08-11 01:25:40 +02:00
Brad Parker 376608aea0 Qt: cleanup 2018-08-10 19:23:52 -04:00
Brad Parker 177642ac2f add script to fetch list of github contributors 2018-08-10 19:20:13 -04:00
Brad Parker e91c18f556 Qt: Add list of contributors to about box 2018-08-10 19:10:23 -04:00
twinaphex 2cfae2a6e7 C89 buildfix 2018-08-11 00:15:32 +02:00
Twinaphex 91a5b09627 Merge pull request #7042 from Tatsuya79/master
VRR runloop Option.
2018-08-10 21:15:58 +02:00
Brad Parker 8d5f2ad1de Qt: use core display name if regular name is empty 2018-08-10 15:10:18 -04:00
Brad Parker 51f968c557 Qt: fix core association not showing up when clicking on playlists while in grid view 2018-08-10 09:58:22 -04:00
Brad Parker fe6dda917a word_wrap: hack to workaround long lines without spaces 2018-08-09 23:54:16 -04:00
Wiktor Strzębała 45799ee034 Bring up touch support for wayland subsystem for sailfish os devices
Touch code cleanup
Make variabled static as suggest bparker06
C89 compilation error fix (at least for loops)
More C89 fixes

Signed-off-by: Wiktor Strzębała <[email protected]>
2018-08-09 20:49:27 +02:00
Brad Parker e235a0991c Qt: updates 2018-08-09 11:55:42 -04:00
Twinaphex a8dc7209b7 Merge pull request #7060 from RetroSven/master
reverse code/state display so that users can see at a glance which codes are active
2018-08-09 14:59:05 +02:00
Sven 1af96360a5 reverse code/state display so that users can see at a glance which codes are enabled 2018-08-09 08:52:35 -04:00
Wiktor Strzębała ca769b0006 Wayland have EGL libs
Signed-off-by: Wiktor Strzębała <[email protected]>
2018-08-09 14:42:19 +02:00
Wiktor Strzębała 599fd8abe0 Spec file for building under MERSDK (sailfishos)
Signed-off-by: Wiktor Strzębała <[email protected]>
2018-08-09 14:41:55 +02:00
Tatsuya79 e48b9011bf Don't adjust audio for VRR. Silence log message about it. 2018-08-09 12:29:40 +02:00
Brad Parker 50b23d6572 Qt: use yes/no buttons for question dialogs to allow canceling even if checkbox is clicked, return checkbox status separately from yes/no buttons 2018-08-08 12:49:35 -04:00
twinaphex 2a68b6e691 Update 2018-08-08 07:40:33 +02:00
twinaphex e74e306947 Relative path include bugfix 2018-08-08 07:38:48 +02:00
twinaphex fc176c1fa6 Put this around HAVE_DISCORD ifdefs 2018-08-08 07:35:11 +02:00
twinaphex 27c2c6c6d7 Add Discord integration 2018-08-08 07:32:37 +02:00
twinaphex a3847ed656 Not available on PSP either 2018-08-08 06:03:01 +02:00
twinaphex c59b054ef2 Comment this out 2018-08-08 05:01:22 +02:00
twinaphex f14ae31e93 Uncomment this too 2018-08-08 04:54:11 +02:00
twinaphex 1becd89699 Remove DEBUG ifdef 2018-08-08 04:51:03 +02:00
twinaphex e6e35805a6 Enable this 2018-08-08 04:50:16 +02:00
Twinaphex 499fdc7e22 Merge pull request #7053 from RetroSven/master
add option to auto-apply cheat codes when a game loads ; fix some misc cheat module bugs
2018-08-08 03:17:44 +02:00
twinaphex 80227bfcdb Vita doesn't have ftruncate it seems 2018-08-08 01:46:32 +02:00
Sven b48321737d Merge remote-tracking branch 'upstream/master' 2018-08-07 17:35:16 -04:00
Sven b648d70f27 add option to auto-apply cheat codes when a game loads ; fix some misc bugs in cheat engine 2018-08-07 17:34:46 -04:00
Twinaphex 59b620a1a6 Merge pull request #7051 from greso/master
(macOS) Fix input issues
2018-08-07 20:22:55 +02:00
greso 2c9fda1798 (macOS) Fix input issues
For my Xbox One Controller the min input for the hat is 1 and not 0. 0
points to the default state that is called after each button press.

On top of that the two axis for the trigger buttons were ignored. I
added some additional axis that are not present on my controller but
will probably help for other input devices.
2018-08-07 19:51:50 +02:00
twinaphex 137a39c705 Update 2018-08-07 06:22:56 +02:00
twinaphex 7fdc516d8d Update 2018-08-07 06:19:27 +02:00
twinaphex 653bcba2e0 Update libretro-common 2018-08-07 06:17:48 +02:00
twinaphex f52708e205 Update filestream_transforms.h 2018-08-07 06:00:16 +02:00
twinaphex c563eedb32 Hopefully the VFS interface can now remain stable 2018-08-07 05:53:32 +02:00
twinaphex 1bda6ba204 Update libretro-common 2018-08-07 05:43:19 +02:00
twinaphex 0fb7d6a9e4 (SSL) Re-enable drbg 2018-08-07 04:57:33 +02:00
twinaphex 9403489f2e try to bake out debug parts of mbedtls 2018-08-07 04:51:26 +02:00
twinaphex 79f87cbaee More C89_BUILD fixes for mbedtls 2018-08-07 04:48:05 +02:00
twinaphex 6155772c5e mbedtls is not C89_BUILD compatible for now 2018-08-07 03:54:09 +02:00
twinaphex f523fec4d2 C89_BUILD fixes 2018-08-07 03:50:10 +02:00
twinaphex 2bf3ec2000 C89_BUILD fixes 2018-08-07 03:37:56 +02:00
Twinaphex d4ab18c188 Merge pull request #7049 from bparker06/wimp_update
Qt: add option to update RetroArch (Windows only for now)
2018-08-07 03:10:32 +02:00
Brad Parker 4baecf84ca Qt: add option to update RetroArch (Windows only for now) 2018-08-06 20:52:47 -04:00
Brad Parker a1b831abdb allow 7z archives to have multiple files extracted at once 2018-08-06 20:44:59 -04:00
twinaphex 00f252ad2d configuration.c - cleanups:
- use string_is_equal instead of strcmp
- use calloc instead of malloc
2018-08-06 06:59:50 +02:00
twinaphex 68f5c907fe Don't leak 4096 bytes in config_load_remap 2018-08-06 06:55:13 +02:00
Twinaphex 5a727ce522 Merge pull request #7046 from DEX357/patch-18
Update msg_hash_pl.h
2018-08-06 02:41:08 +02:00
DEX357 046ce64250 Update msg_hash_pl.h 2018-08-06 00:27:26 +02:00
Twinaphex c19e26ebf6 Merge pull request #7045 from dor3k/patch-1
Update Polish
2018-08-06 00:15:16 +02:00
dor3k dcc642876a Update msg_hash_pl.h 2018-08-05 23:30:41 +02:00
twinaphex d9f4675a51 menu_settings_free - prevent null pointer indirections 2018-08-05 16:59:59 +02:00
dor3k 54074f5c53 Update msg_hash_pl.h 2018-08-05 02:36:54 +02:00
twinaphex 3f959637f2 Update application ID 2018-08-05 02:14:21 +02:00
twinaphex ae69bf9d7b More changes needed for mbedtls/griffin 2018-08-05 01:10:05 +02:00
Twinaphex dae393d519 Merge pull request #7043 from fr500/master
Discord: Show game name and a core icon
2018-08-05 01:08:55 +02:00
radius 605565e87e Discord: Show game name and a core icon 2018-08-04 17:41:07 -05:00
Tatsuya79 bd4d462170 VRR runloop Option. 2018-08-05 00:34:10 +02:00
twinaphex a1e338827c (mbedtls) Changes to make it compatible with Griffin, pt. 1 2018-08-04 21:16:12 +02:00
twinaphex d2613d6e89 (mbedtls) Global variables need to be uniquely namespaced for Griffin 2018-08-04 20:57:23 +02:00
twinaphex 3019748b17 (mbedtls) Use arc4_alt.h 2018-08-04 20:54:11 +02:00
twinaphex ad87ec871d (mbedtls) update asn1parse.c 2018-08-04 20:10:19 +02:00
twinaphex 5b3b3b4a89 (mbedtls) Add arc4_alt.h 2018-08-04 20:09:07 +02:00
Twinaphex 01103dcd23 Cleanups 2018-08-04 20:02:33 +02:00
twinaphex 564c7805b0 Add HAVE_SSL ifdef to griffin.c 2018-08-04 19:51:55 +02:00
Brad Parker c71b4ccca3 only set mbedtls debug if we are building in debug mode 2018-08-04 13:24:36 -04:00
twinaphex 7b147a40ae Update 2018-08-04 19:23:42 +02:00
Twinaphex b0e8775b55 Merge pull request #7041 from RetroSven/master
bugfix for very long code values - allow for any length
2018-08-04 19:10:46 +02:00
Sven 0f634d563b Merge remote-tracking branch 'upstream/master' 2018-08-04 13:05:40 -04:00
Sven 2fb5d54130 bugfix for very long code values - allow for any length 2018-08-04 13:05:05 -04:00
Brad Parker 93aed2bc87 Update CHANGES.md 2018-08-04 12:56:48 -04:00
twinaphex 2f1dd78a77 Set HAVE_SSL=yes by default for Windows/Linux 2018-08-04 18:50:53 +02:00
Twinaphex 00ff8b59aa Merge pull request #7040 from alfrix/spanish
Update Spanish
2018-08-04 16:10:10 +02:00
Sven deff1de2b7 Merge remote-tracking branch 'upstream/master' 2018-08-04 08:29:07 -04:00
Sven a82ea4dcc8 bump size for long one-line multi-codes 2018-08-04 08:28:39 -04:00
Alfredo Monclus ce20a9acdf Add Onscreen Notifications and Overlays Sublabels 2018-08-04 00:33:51 -03:00
Alfredo Monclus 8fe519365c Update Spanish 2018-08-03 23:20:32 -03:00
Brad Parker 75d161e0bd Qt: make links in Help->About clickable, add documentation link 2018-08-03 21:38:38 -04:00
twinaphex 5773f7071d C89 buildfixes 2018-08-04 00:47:52 +02:00
Twinaphex 421e6fe0f7 Merge pull request #7039 from RetroSven/master
add some options to the cheat system to browse emulator memory
2018-08-03 23:55:12 +02:00
Sven e5bc567765 Merge remote-tracking branch 'upstream/master' 2018-08-03 14:59:44 -04:00
Sven 36d16a9c94 add some options to the cheat system to browse emulator memory 2018-08-03 14:59:33 -04:00
Brad Parker 43492c5fbd Qt: add Help->About dialogs 2018-08-02 23:21:39 -04:00
Twinaphex af4438406d Merge pull request #7038 from joel16/vita-clockrates
Set max bus & gpu clock rates for PS VITA
2018-08-02 19:36:59 +02:00
Joel16 b606572bce Set max bus & gpu clock rates 2018-08-02 12:19:16 -05:00
Twinaphex 03854a0da1 Merge pull request #7037 from RetroSven/master
add an option to auto-apply cheats whenever they are toggled on/off
2018-08-02 17:18:21 +02:00
Sven c1bba50567 Merge remote-tracking branch 'upstream/master' 2018-08-02 11:00:02 -04:00
Sven 3bba9aeeaf add an option to auto-apply cheats whenever they are toggled on/off 2018-08-02 10:59:37 -04:00
twinaphex 5b9115c848 C89_BUILD fixes 2018-08-01 01:27:30 +02:00
twinaphex aec7ed40da This crashed Wayland 2018-08-01 01:15:58 +02:00
Andre Leiradella 1c3ae4f01d Added Lua as a dependency 2018-07-31 22:21:49 +01:00
Andre Leiradella e2fc3c11a6 Added rcheevos as a dependency 2018-07-31 22:21:36 +01:00
Brad Parker bdf5efd4ab Qt: fix thumbnail display in file browser when name has dots in it 2018-07-31 11:34:25 -04:00
Brad Parker b60e35ce48 Update CHANGES.md 2018-07-31 00:16:48 -04:00
Brad Parker ea05b0f3cb Qt: "add entry" option for starting a new custom playlist entry 2018-07-31 00:15:59 -04:00
Brad Parker d5ae00f3d8 Qt: fix loading of content from grid view with core set to "ask me" 2018-07-30 22:52:14 -04:00
Brad Parker e63edfa6d2 Qt: add button to playlist entry dialog to change the path to the content 2018-07-30 21:18:34 -04:00
Brad Parker e1b2d752ab Qt: use complete base name in case file has periods in it 2018-07-30 19:41:31 -04:00
Twinaphex 3e330bed7c Merge pull request #7034 from Tatsuya79/patch-3
Update ui_qt_themes.h
2018-07-31 01:32:08 +02:00
Tatsuya79 1ceac715b3 Update ui_qt_themes.h 2018-07-31 01:07:00 +02:00
Brad Parker 50381a0463 Qt: allow FileDropWidget to be styleable 2018-07-30 18:22:18 -04:00
Twinaphex b5d5fb4940 Merge pull request #7032 from Tatsuya79/patch-2
Update ui_qt_themes.h
2018-07-30 17:36:04 +02:00
Tatsuya79 20a66e468e Update ui_qt_themes.h 2018-07-30 17:26:58 +02:00
Brad Parker 5273aa2861 Qt: use native separators for playlist paths 2018-07-30 10:02:38 -04:00
Twinaphex 157fbe07b6 Merge pull request #7031 from RetroSven/master
fix strncat size warnings ; only consume additional cheat memory when performing searching - no need to alloc additional memory when applying cheats ; bugfix address mask max value
2018-07-30 14:00:44 +02:00
Sven ba8ceb8f84 Merge remote-tracking branch 'upstream/master' 2018-07-30 04:12:46 -04:00
Sven c2825cb7c5 fix strncat size warnings ; only consume additional cheat memory when performing searching - no need to alloc additional memory when applying cheats ; bugfix address mask max value 2018-07-30 04:08:50 -04:00
Brad Parker 558a732330 Qt: add right-click option to edit playlist entries, fix bug with extra .lpl extension in playlists 2018-07-29 23:51:23 -04:00
Twinaphex 0d157bc09f Merge pull request #7030 from RetroSven/master
add "reload game-specific cheats" option to cheats menu
2018-07-29 23:56:08 +02:00
Sven 3d862bbdb4 Merge remote-tracking branch 'upstream/master' 2018-07-29 16:08:12 -04:00
Sven 565e916ef9 add "reload game-specific cheats" option to cheats menu 2018-07-29 15:55:40 -04:00
Twinaphex 58dd8a1917 Merge pull request #7029 from alfrix/spanish
Spanish terminology changes
2018-07-29 20:31:25 +02:00
Alfredo Monclus 7426701b2f Anulaciones a Personalizaciones 2018-07-29 15:06:01 -03:00
Alfredo Monclus 2516b7ad1e Ranura a Posición 2018-07-29 14:07:49 -03:00
twinaphex 7131b969d8 (Android) Buildfixes 2018-07-29 19:04:53 +02:00
Twinaphex 9b79d150b4 Merge pull request #7028 from Skarsnik/master
Fix a bug in the READ_CORE_RAM command of the network interface and add a VERSION command
2018-07-29 18:23:43 +02:00
Twinaphex 77095247cc Merge pull request #7027 from RetroSven/master
save/load from cheat_dir/core_name/game_name.cht ; only save to cheat…
2018-07-29 17:14:05 +02:00
Twinaphex 7ea94f57f6 Merge pull request #7026 from alfrix/spanish
Update Spanish
2018-07-29 17:12:47 +02:00
Sven 0442aa5a31 save/load from cheat_dir/core_name/game_name.cht ; only save to cheat file when there are >0 cheats 2018-07-29 10:48:41 -04:00
Alfredo Monclus 18646e3af0 Update Spanish 2018-07-29 11:20:46 -03:00
Sylvain Colinet 011cb61782 Added a version command 2018-07-29 15:15:29 +02:00
Sylvain Colinet ef43e171ce Network command interface : Fix the READ_CORE_RAM command to not crash when asking for size over 78 2018-07-29 14:49:31 +02:00
Brad Parker 2faa250174 Qt: throttle status bar messages 2018-07-28 23:15:00 -04:00
Brad Parker fea09f7382 Qt: add right-click menu to delete playlist items 2018-07-28 22:34:00 -04:00
Brad Parker 978edc7acf Qt: always set the current tab on startup 2018-07-28 18:46:51 -04:00
Twinaphex e579842620 Merge pull request #7023 from RetroSven/master
fix bug when accessing memory address cheat setting before cheat syst…
2018-07-29 00:08:38 +02:00
Sven 3c0a8c0c10 fix bug when accessing memory address cheat setting before cheat system initialized ; clean up code in some areas 2018-07-28 17:45:33 -04:00
twinaphex d08f0f1234 CXX_BUILD cleanups 2018-07-28 23:18:44 +02:00
twinaphex 89083fd093 C89 buildfixes 2018-07-28 22:11:56 +02:00
Twinaphex 367d6e7480 Merge pull request #7017 from RetroSven/cheater
Implement robust cheat searching interface with rumble features
2018-07-28 19:01:40 +02:00
bparker06 7c06e6f620 Update CHANGES.md 2018-07-28 13:00:26 -04:00
Twinaphex fb3b5df350 Merge pull request #7022 from bparker06/qt_playlist
Qt: ability to add/delete playlists and drag&drop files into a playlist
2018-07-28 18:29:07 +02:00
Brad Parker 8835e2d9a2 Qt: add delete key option to list/grid view to remove playlist items 2018-07-28 11:48:24 -04:00
Brad Parker c883a81c42 Qt: only allow dropping files onto center list/grid view 2018-07-28 10:39:21 -04:00
Tatsuya79 963e19b42b Update ui_qt_themes.h (#7021)
* Update ui_qt_themes.h

* Update ui_qt_window.cpp
2018-07-28 07:54:25 -04:00
Brad Parker 489601fadb Qt: allow right-click in empty portion of playlist widget 2018-07-27 23:52:27 -04:00
Brad Parker 45d38dcccf Qt: add dialog to choose core/database for new playlist entries 2018-07-27 23:45:48 -04:00
twinaphex 20335cd2b9 Add Hakchi files 2018-07-27 19:26:15 +02:00
Twinaphex d802a7eaab Merge pull request #7018 from altiereslima/master
Update portuguese translation
2018-07-27 14:37:06 +02:00
altiereslima 0f63d1f851 Update portuguese translation 2018-07-27 04:54:07 -03:00
Brad Parker fcdeebe672 Qt: initial drag&drop to add playlist entries. no scanning or filtering yet 2018-07-26 23:35:17 -04:00
Sven c750235414 Merge branch 'master' into cheater 2018-07-26 19:40:20 -04:00
Brad Parker be952a9d14 Qt: add options for new/delete playlist 2018-07-26 11:23:51 -04:00
Brad Parker e9c4192e9b Qt: fix grid label text getting cut off on Windows, do not change size of grid items when selected 2018-07-26 11:14:01 -04:00
Brad Parker 0e86c664ce Qt: add tooltips to show entire grid label text 2018-07-25 19:52:08 -04:00
Brad Parker 4b712fa750 Qt: elide grid label text 2018-07-25 19:41:54 -04:00
Sven 5f35249216 Implement robust cheat searching interface with rumble features 2018-07-25 19:19:14 -04:00
Brad Parker 665628e6c0 Qt: add separate settings for max list/grid entries 2018-07-25 15:24:26 -04:00
Brad Parker 065318eb39 Qt: set default limit for "all playlists" to 5000, use retro_assert instead of assert 2018-07-25 08:44:25 -04:00
twinaphex d6b273f60e Add retro_assert.h 2018-07-25 12:24:07 +02:00
Brad Parker 5ff77d1833 Qt: better border drawing across styles, add option for max entries in "all playlists" 2018-07-25 01:43:57 -04:00
Brad Parker f0b0be898a Qt: draw border around selected grid item 2018-07-25 00:29:48 -04:00
mickski56 aa0e0de1d9 address #6920 Proper analog trigger support 2018-07-24 22:48:50 +01:00
Brad Parker d17c17085c Qt: hook up search box to grid view 2018-07-24 17:07:17 -04:00
Brad Parker c7052f67df update CHANGES.md 2018-07-24 15:10:29 -04:00
Brad Parker baa709632d Qt: sort grid entries by name 2018-07-24 15:10:29 -04:00
hizzlekizzle b4cae22396 Merge pull request #7013 from hizzlekizzle/master
update info.plist to v1.7.3
2018-07-24 11:55:59 -05:00
hizzlekizzle ab03c1818a update info.plist to v1.7.3
must have been missed in the previous update
2018-07-24 11:15:03 -05:00
Twinaphex 8535fe11da Merge pull request #7003 from gvbr/runahead
Runahead: ensure prefixed second-instance temp directory on linux
2018-07-24 15:57:47 +02:00
Twinaphex ccb87f3a96 Update CHANGES.md 2018-07-24 15:02:42 +02:00
Twinaphex 70a24ae421 Merge pull request #7012 from TheOfficialFloW/patch-1
Use sceCtrlIsMultiControllerSupported to detect
2018-07-24 15:02:20 +02:00
TheOfficialFloW ef10b7897d Use sceCtrlIsMultiControllerSupported to detect 2018-07-24 10:12:15 +02:00
Twinaphex 6150bd9772 Merge pull request #7010 from bparker06/qt_grid
Qt: initial working grid view
2018-07-23 17:45:43 +02:00
Twinaphex 3aac9a1693 Update CHANGES.md 2018-07-23 17:45:30 +02:00
twinaphex 6cee45ab99 Don't bake in HAVE_STRIPES by default 2018-07-23 17:42:57 +02:00
twinaphex a740d73d21 Don't set MENU_STRIPES as default 2018-07-23 17:42:15 +02:00
Brad Parker b52995dd30 Merge branch 'master' into qt_grid 2018-07-23 11:18:26 -04:00
Brad Parker c8a814ae40 Qt: hook up grid view click/doubleclick events 2018-07-23 11:17:58 -04:00
Twinaphex 48a722f4bc Merge pull request #7009 from kurumushi/patch-1
Add imc0: mount for ps vita
2018-07-23 16:53:12 +02:00
kurumushi bbe1dcd48f Add imc0: mount for ps vita
This allows using the internal storage of the ps vita 2000 model when it's mounted on imc0: instead of ux0:
2018-07-23 23:11:54 +09:00
Brad Parker 1293447aab Qt: hide progress properly when done showing "all playlists" if user only has a single playlist 2018-07-23 09:44:24 -04:00
Twinaphex e5741eb9b2 Merge pull request #7008 from yoshisuga/issue-6751
issue 6751: read input of overlay for remapped keyboard keys
2018-07-23 04:32:21 +02:00
Brad Parker f78337e02e Qt: add progress bar for grid view loading 2018-07-22 22:05:57 -04:00
Brad Parker 75ce796c34 Merge branch 'master' into qt_grid 2018-07-22 20:03:55 -04:00
twinaphex bea736865b Add some logs 2018-07-23 00:10:35 +02:00
Yoshi Sugawara 0a710564e1 issue 6751: read input of overlay for remapped keyboard keys 2018-07-22 11:32:52 -10:00
twinaphex 6ae4350883 (XMB) Add back XMB ribbon - was probably not meant to be removed 2018-07-22 21:18:11 +02:00
twinaphex 454dbc6185 Change this to MENU_STRIPES 2018-07-22 21:14:30 +02:00
twinaphex 7403cfad99 (Stripes) Buildfix 2018-07-22 20:54:59 +02:00
Twinaphex c2d3727c09 Merge pull request #7007 from libretro/stripes
[WIP] Stripes menu
2018-07-22 20:14:50 +02:00
Rob Loach aba179a910 Merge branch 'master' into stripes 2018-07-22 13:30:47 -04:00
twinaphex 9c0ed0f2c4 Don't use core profile GLSL shaders for OpenGLES 2018-07-18 10:06:30 +02:00
gvbr 0addd1aca4 Runahead: ensure prefixed second-instance temp directory on linux 2018-07-17 20:06:18 -07:00
Brad Parker 7e609d6a05 fix some config entries not being saved 2018-07-16 23:01:21 -04:00
Twinaphex b878a94f76 Merge pull request #6998 from bparker06/config_sort
sort config file variables
2018-07-16 06:47:53 +02:00
Brad Parker 62e89974af sort config file variables 2018-07-16 00:15:49 -04:00
twinaphex eb345019c2 Don't implement bind_block/flush_block for drivers that
don't implement it
2018-07-15 20:16:40 +02:00
Twinaphex 5159f71cf5 Update CHANGES.md 2018-07-15 14:43:31 +02:00
twinaphex ea09c29e04 Update implementations for other input drivers - not all input
drivers support this yet
2018-07-15 14:34:02 +02:00
twinaphex 9a1ac6d77b (rwebinput) Fix game focus toggle 2018-07-15 14:22:16 +02:00
twinaphex 13431c7cbf (udev) Fix game focus toggle for udev input driver 2018-07-15 14:20:26 +02:00
twinaphex 98190294db (winraw_input) Fix game focus toggle for winraw_input 2018-07-15 14:18:35 +02:00
twinaphex d50850762b Fix game focus toggling for DInput driver 2018-07-15 14:17:10 +02:00
twinaphex 311b454a2c Change return value to true instead for command_event_save_core_config 2018-07-15 05:58:01 +02:00
twinaphex 675b8bb9e2 Cleanup some code in command_event 2018-07-15 05:50:08 +02:00
Twinaphex a34e29c037 Merge pull request #6990 from stuartcarnie/sgc-metal
fix(Cocoa): Fix blank screen after full screen toggle; window focus
2018-07-15 04:46:59 +02:00
Stuart Carnie 0291c41afa fix(Metal): Fix blank screen after full screen toggle; window focus 2018-07-14 11:18:21 -07:00
Twinaphex a68a22081c Merge pull request #6989 from Dwedit/win32_message_loop_threaded_video_fix
Move win32 message loop, now compatible with threaded video
2018-07-14 06:12:07 +02:00
Dwedit fa00eda625 Relocation of Win32 Message Loop Fix is now tied to whether threaded video is enabled or not
Menu bar is removed if threaded video is enabled, due to code currently being unsafe when using threaded video.
2018-07-13 22:34:03 -05:00
twinaphex d6c5c7f208 Pre-MSVC 2013 did not support PRIu32, add workaround 2018-07-14 05:29:17 +02:00
twinaphex 0df98a53a6 Use video_driver_is_threaded_internal from within gfx/video_driver.c 2018-07-14 05:24:28 +02:00
twinaphex cc473a25b9 Add video_driver_is_threaded 2018-07-14 05:23:03 +02:00
twinaphex 0d39701145 Get rid of double void argument 2018-07-14 00:54:14 +02:00
twinaphex 5ba2a621c0 Silence warnings 2018-07-14 00:45:16 +02:00
twinaphex 600c2c1ca1 Simplify menu_display_font 2018-07-14 00:39:46 +02:00
twinaphex abc6eb7d8c Revert "Re-revert this - causes issues with toggling fullscreen with threaded"
This reverts commit 52a55695ce.
2018-07-14 00:22:52 +02:00
twinaphex 4758caea74 Commenting this out for now - this causes crashes with
toggling fullscreen in threaded video mode with the GL driver
2018-07-14 00:21:27 +02:00
twinaphex 52a55695ce Re-revert this - causes issues with toggling fullscreen with threaded
video mode and GL driver
2018-07-14 00:10:21 +02:00
twinaphex 76cbd54420 Merge branch 'master' of https://github.com/libretro/RetroArch 2018-07-14 00:02:14 +02:00
twinaphex 38a35e53fd Revert "Move Message loop call to right before video_driver_get_status call"
This reverts commit 838dcc8a5a.
2018-07-14 00:01:25 +02:00
Twinaphex 308b053fee Merge pull request #6982 from meleu/patch-2
CHANGES: added cheevos related stuff
2018-07-14 00:00:50 +02:00
Twinaphex 279c635b91 Merge pull request #6985 from RetroSven/rewind_buffer_size_ui
implement a way to set rewind_buffer_size via the UI
2018-07-13 22:38:11 +02:00
Sven 83da70586e implement a way to set rewind_buffer_size via the UI 2018-07-13 16:12:09 -04:00
Brad Parker 367689a3f9 add enum for 21:9 aspect 2018-07-13 15:30:48 -04:00
Brad Parker 637ded4ef1 add 21:9 aspect ratio 2018-07-13 15:29:07 -04:00
meleu e160c70950 CHANGES: added cheevos related stuff 2018-07-13 08:12:01 -03:00
Twinaphex 7dcc99980a Update CHANGES.md 2018-07-13 12:20:55 +02:00
Twinaphex 11244d78b0 Merge pull request #6981 from casdevel/dinput
Add dinput rumble support
2018-07-13 12:20:28 +02:00
Twinaphex 06318e3dd9 Merge pull request #6980 from stuartcarnie/sgc-metal
fix(Metal): Render search box correctly
2018-07-13 10:27:42 +02:00
Stuart Carnie 13a9aca88a fix(Metal): Render search box correctly 2018-07-12 23:15:24 -07:00
Twinaphex 36494d622a Merge pull request #6979 from stuartcarnie/sgc-metal
fix(Metal): Various Metal fixes
2018-07-13 06:36:28 +02:00
Stuart Carnie 167ad3b57d fix(Metal): Various Metal fixes
* OSD message background
* clear glui background
* add Metal to configuration
* added optional config to compile Metal build without OpenGL
* fixed fill_pathname_join_delim; if out_path and dir are same, don't
  strlcpy, as the results are undefined.
2018-07-12 21:33:18 -07:00
Brad Parker dbfccb25dd sixel: fix context init 2018-07-12 22:59:05 -04:00
Twinaphex 42c4e8c687 Merge pull request #6978 from webgeek1234/android_url
Fix android armeabi and x86_64 core updater urls
2018-07-13 04:22:12 +02:00
Aaron Kling dc807f25cf Fix android armeabi and x86_64 core updater urls 2018-07-12 20:06:03 -05:00
Brad Parker f8ea5cfd8d update CHANGES.md 2018-07-12 17:24:52 -04:00
Brad Parker 7e1074c40a sixel: add missing menu display driver 2018-07-12 17:24:52 -04:00
Twinaphex 44859fc06e Merge pull request #6977 from bparker06/sixel_new
initial SIXEL video driver
2018-07-12 23:06:59 +02:00
Brad Parker ab27b7c85f initial SIXEL video driver 2018-07-12 16:55:08 -04:00
twinaphex 6b5ade4ac3 Should be no more deprecated warnings with core context GL for menu
shaders
2018-07-12 22:03:37 +02:00
twinaphex fab08c9cfb Only load Xinput DLL once 2018-07-12 21:39:18 +02:00
twinaphex 60d7d1c793 Add xmb ribbon simple core shader 2018-07-12 21:34:17 +02:00
twinaphex 140e657d51 (GLSL) Add logging for compiling menu shaders 2018-07-12 21:25:39 +02:00
Twinaphex 7f7493d751 Merge pull request #6975 from yoshisuga/ios11_files
[iOS] Support viewing/opening files in Files app
2018-07-12 06:00:40 +02:00
Yoshi Sugawara 14e79e0a43 support viewing/opening files in Files app 2018-07-11 15:52:11 -10:00
Twinaphex 8a683c1626 Merge pull request #6973 from bearoso/fix-rr
Win32: Fix monitor-reported refresh rate.
2018-07-12 00:39:17 +02:00
Brandon Wright c81aab345c Lock sizes of enum fields at 32 bits. 2018-07-11 16:37:37 -05:00
Twinaphex 7adce0050e Update CHANGES.md 2018-07-11 11:23:21 +02:00
Twinaphex cb137954f9 Update wiiu_audio.c - audio should no longer clip 2018-07-11 11:22:43 +02:00
twinaphex dc55bd13aa Add HAVE_METAL 2018-07-11 03:42:42 +02:00
Twinaphex fd86140514 Merge pull request #6963 from alphanu1/master
casting int to float
2018-07-08 20:24:46 +02:00
alphanu1 f25ef05d52 Merge pull request #78 from alphanu1/alphanu1-patch-73
cast float
2018-07-08 19:19:40 +01:00
alphanu1 755a128d95 cast float 2018-07-08 19:15:24 +01:00
Twinaphex e4a8ef409a Merge pull request #6962 from alphanu1/master
Resolution refresh rate restore bugfix for windows.
2018-07-08 19:29:59 +02:00
alphanu1 46d74971fd Merge pull request #77 from alphanu1/alphanu1-patch-72
Restore refresh fix for windows
2018-07-08 18:18:07 +01:00
alphanu1 045606ce44 Restore refresh fix for windows
The refresh rate is now detect to restore the original desktop resolution.
2018-07-08 18:17:23 +01:00
alphanu1 74eacd5a33 Merge pull request #76 from libretro/master
update
2018-07-08 18:13:05 +01:00
Twinaphex 7fb147e8b3 Merge pull request #6959 from stuartcarnie/sgc-metal
feat(Metal): Full screen support
2018-07-07 17:55:42 +02:00
Stuart Carnie 40a1446c95 feat(Metal): Reload shader preset when Metal driver reinitialized 2018-07-07 07:31:43 -07:00
Stuart Carnie 74e1f24e90 feat(Metal): Full screen support
* I believe there is a race condition where the viewport is not set
  correctly on launch
2018-07-06 23:38:34 -07:00
Stuart Carnie 01df2c5e88 fix(Metal): Check for nil drawable 2018-07-06 23:37:15 -07:00
Twinaphex dc161a1cb3 Merge pull request #6958 from RobLoach/defaced
code: Replace hexspeak code
2018-07-07 06:09:59 +02:00
Rob Loach 0f39ef4247 [#6955] Update hexspeak magic pointer code
Fixes #6955
2018-07-06 23:03:15 -04:00
Twinaphex e8fb22ba47 Merge pull request #6953 from Dwedit/cached_frame_hack2
Invalidate `frame_cache_data` pointer to prevent crash if first frame is paused
2018-07-06 20:36:32 +02:00
Dwedit 41ce61974d A hack to invalidate the frame_cache_data pointer during the following events:
Load Game, Reset, Init, Unload, Unload Game, Video Driver Destroy, Video Driver Free, Video Driver Init

This prevents an invalid pointer from being read if the first frame starts out paused.
2018-07-06 09:53:31 -05:00
twinaphex ceaa0259e5 Merge commit 'c8366b0b0f6ab996adcbcf1ee09a3ed6298e7d4e' 2018-07-06 05:17:39 +02:00
twinaphex c8366b0b0f Squashed 'deps/SPIRV-Cross/' changes from f96c9f9fb4..0f59016635
0f59016635 Merge pull request #636 from KhronosGroup/cfg-refactor
2bf57d6dff Deal with composite constants in variable initializer.
dcddd5326e Add LUT test cases for OpVariable with initializer.
af290ede87 Remove some redundant spvArrayCopy declarations.
8c314112b4 Run format_all.sh.
5582523d9a Add some tests for LUT promotion.
5143695080 Don't need to enclose expression for arrays.
d29f48ef06 Deduce constant LUTs from read-write variables.
b5ed706860 Hoist out variable scope analysis.
c26c41b26b Make the CFGs for all active functions available.
6fdadb9218 Track partial writes as well.
7216129377 Hoist out the inline VariableAccessHandler class.

git-subtree-dir: deps/SPIRV-Cross
git-subtree-split: 0f590166359f4ee35d80040f0965417f482cd6b1
2018-07-06 05:17:39 +02:00
twinaphex 22d6930488 Some MSVC 2010 360 buildfixes 2018-07-06 04:45:52 +02:00
Twinaphex 974aa3c8ac Merge pull request #6951 from Dwedit/message_loop_fix
Move Message loop call to right before `video_driver_get_status` call
2018-07-06 04:42:35 +02:00
Dwedit 838dcc8a5a Move Message loop call to right before video_driver_get_status call 2018-07-05 20:07:01 -05:00
Zoran Vuckovic 544802e1a8 Add dinput rumble support 2018-07-05 20:01:23 +02:00
twinaphex c3d469dd8e Revert "Moved WIN32 message loop out of win32_check_window, and into just before the call to runloop_iterate"
This reverts commit 7108628369.
2018-07-05 02:42:16 +02:00
twinaphex 31e76458f7 Merge commit 'aa9ebf5f29e1a22a5050572353b122915db1451d' 2018-07-05 02:10:00 +02:00
twinaphex aa9ebf5f29 Squashed 'libretro-common/' changes from 1548bee835..b857ce7fc5
b857ce7fc5 Cleanups

git-subtree-dir: libretro-common
git-subtree-split: b857ce7fc55d725246a095f766e2bb82bb1d4ce6
2018-07-05 02:10:00 +02:00
Twinaphex c54532d77d Merge pull request #6950 from stuartcarnie/sgc-macos
fix(macOS): Fix older targets
2018-07-05 01:14:54 +02:00
Stuart Carnie d1712d7c5a fix(macOS): Fix older targets 2018-07-04 15:26:49 -07:00
Twinaphex a96b482d78 Merge pull request #6949 from stuartcarnie/sgc-macos
fix(macOS): Use correct availability macro check
2018-07-04 23:42:00 +02:00
Stuart Carnie d8061ac0e9 fix(macOS): Use correct availability macro check 2018-07-04 14:19:05 -07:00
Twinaphex 95500f5631 Merge pull request #6948 from stuartcarnie/sgc-metal
feat(Metal): Add support for overlays
2018-07-04 22:52:29 +02:00
twinaphex 155f797ccb Merge commit '2da12dca5803c3dcde920a1cff838fd98aecb36f' 2018-07-04 22:51:43 +02:00
twinaphex 2da12dca58 Squashed 'deps/SPIRV-Cross/' changes from e59cc24495..f96c9f9fb4
f96c9f9fb4 Merge pull request #635 from KhronosGroup/fix-631
e044732896 Support OpTypeImage with depth == 2 (unknown) properly.
a6814a405a Merge pull request #630 from KhronosGroup/fix-628
af2d3abd03 Fail more gracefully with some unsupported opcodes.
26107ba200 Fix os.errno issues on Travis.
ee44f6027b Changed OpTypeImage to only flag depth if the op is 1
c863f53cac Merge pull request #627 from KhronosGroup/macro-namespace-fix
9ddbd5aff6 Run format_all.sh.
f1752e58e1 Add basic namespace to internal macros.
d67e586b2e Merge pull request #626 from billhollings/master
9bf226cb05 Fixes for code review of PR 626.
4c5142b9d3 CompilerMSL support larger texel buffers by using 2D Metal textures.
314f39a7c4 Merge pull request #621 from billhollings/master
4beefe756c Fixes from PR 621 code review.
f66507a701 Merge branch 'master' of https://github.com/KhronosGroup/SPIRV-Cross
0ea5e0549e Merge pull request #615 from JustSid/master
5ac55ee735 Fixed emission of some legacy texture ops without requiring the appropriate extensions
ceec708b89 Added better fallbacks for legacy textureProjLod() and textureProjLodOffset() generation
994f789465 Merge pull request #624 from KhronosGroup/fix-619
33c61d2abe Support branch/loop hints in HLSL.
327fb03677 Merge pull request #623 from KhronosGroup/fix-618
2077478651 Merge pull request #622 from KhronosGroup/fix-620
10dfaf79d5 Support globallycoherent in HLSL.
ffa9133d77 Support ternary expressions in OpSpecConstantOp.
e091031613 CompilerMSL pass builtin struct members into functions.
7607eb6923 Merge pull request #617 from KhronosGroup/fix-612
d94d20f4f3 Deal with some builtins being declared with wrong signedness.
0f62b5dc1e Moved check for depth texture and shadowXY emission completely to legacy_tex_op()
447a253ce7 Simplified check for depth texture
76c8e3c1c4 Merge pull request #616 from KhronosGroup/fix-614
b29629fd46 Add support to remove SPIRV_Cross_BaseInstance uniform.
809631ce21 Mention JSON backend in README.
040204d65c Fix warnings and run format_all.sh.
b4c8c3b9b2 Merge branch 'reflection' of git://github.com/jherico/SPIRV-Cross
f6dad78c99 Added support for shadowXY() sample instructions in legacy GLSL
9ad432463c Prefix integer types with underscore
0ad0f948e1 More PR feedback
3b30202bee Add reflection specific test cases, add reflection testing to test_shaders.sh
8d84a541ac Add specialization constant output in reflection
762040084d More feedback
d0a67ba6a7 Code consolidation, const correctness, faster regression testing
3a825349bc More cleanup
6c88b0048b PR feedback
ee86000529 Cleanup code
709d3c60f2 Working on reflection output
0039cb86fc Merge pull request #613 from KhronosGroup/fix-609
9d31154917 Deal with switch case labels which share a block.

git-subtree-dir: deps/SPIRV-Cross
git-subtree-split: f96c9f9fb4fc7d17991cecb2b2294dce06d08d9c
2018-07-04 22:50:02 +02:00
Stuart Carnie c7b21d5bd6 feat(Metal): Add support to disable display sleep (no screen saver) 2018-07-04 13:13:03 -07:00
Stuart Carnie a19ea2ed07 feat(Metal): Add support for overlays 2018-07-04 13:12:40 -07:00
Twinaphex 4b6d6dd421 Merge pull request #6946 from Dwedit/bom_fix
Fix missing BOM on msg_hash_pl.h
2018-07-04 21:32:45 +02:00
Twinaphex a0b1937584 Merge pull request #6947 from Dwedit/message_loop_fix
Moved WIN32 message loop from win32_check_window to before runloop_iterate
2018-07-04 21:30:11 +02:00
Dwedit 7108628369 Moved WIN32 message loop out of win32_check_window, and into just before the call to runloop_iterate 2018-07-04 14:20:38 -05:00
Dwedit 3deb56690a Fix missing BOM on msg_hash_pl.h 2018-07-04 14:14:01 -05:00
Twinaphex 63a071b85a Merge pull request #6945 from Themaister/master
Vulkan: WSI stability fixes
2018-07-04 21:04:08 +02:00
Hans-Kristian Arntzen 52cb0fe375 Vulkan: Fix crash when we get two create_swapchain errors in a row. 2018-07-04 20:25:03 +02:00
Hans-Kristian Arntzen f1d2dac213 Vulkan: Fix various stability issues with WSI.
Added an ifdef to trigger "hardening" which will return spurious errors
for critical WSI things like acquire next image, queue submit and
surface dimension queries.
2018-07-04 19:45:54 +02:00
Twinaphex c8fc27099d Merge pull request #6944 from stuartcarnie/sgc-metal
feat(Metal): Support vsync enable / disable
2018-07-04 19:08:01 +02:00
Stuart Carnie 048aa16599 feat(Metal): Support vsync enable / disable 2018-07-04 09:50:09 -07:00
Twinaphex 2752651de9 Merge pull request #6941 from stuartcarnie/sgc-metal
fix(Metal): fix XRGBA rendering; no nil texture; undefined stuff bad
2018-07-04 18:08:04 +02:00
Stuart Carnie 844e5e15d0 fix(Metal): fix XRGBA rendering; no nil texture; undefined stuff bad 2018-07-04 08:50:46 -07:00
Twinaphex c0dba89d43 Update CHANGES.md 2018-07-04 15:30:07 +02:00
Twinaphex 5552838e34 Merge pull request #6940 from DEX357/patch-17
Update msg_hash_pl.h
2018-07-04 15:05:02 +02:00
Twinaphex 06d8b1fbaa Merge pull request #6939 from theheroGAC/patch-34
Update msg_hash_it.h
2018-07-04 15:04:54 +02:00
Twinaphex 5575bdb449 Merge pull request #6938 from stuartcarnie/sgc-metal
feat(metal): xmb menus and shader pipeline support
2018-07-04 15:04:44 +02:00
DEX357 17f0ef7dd8 Update msg_hash_pl.h 2018-07-04 12:10:39 +02:00
Stuart Carnie 8a298616aa chore(cocoa): reformat (3 spaces, etc) 2018-07-04 00:24:47 -07:00
Stuart Carnie 5240efc857 chore(Metal): fix compiler warnings when targeting newer macOS versions 2018-07-04 00:24:04 -07:00
Stuart Carnie 30d2192338 fix(Metal): Fix release build crash for misaligned read 2018-07-04 00:16:14 -07:00
theheroGAC 905e9e83c0 Update msg_hash_it.h 2018-07-04 08:27:33 +02:00
Stuart Carnie 44ca1062b0 formatting 2018-07-03 22:32:12 -07:00
Stuart Carnie a0900ec433 feat(Metal): full xmb pipeline support
Menu TODOs:

* understand why ribbon does not look the same as GL
* add clear support to `MenuDisplay` for glui
2018-07-03 22:32:12 -07:00
Stuart Carnie 4a101734a1 More cleanup
* use single render command encoder for display for better performance
* Context handles all rendering and presentation
2018-07-03 22:32:12 -07:00
Stuart Carnie 1c5d94aca1 Improve performance; don't care about previous state ofcolor attachment
Color attachment is being completely overwritten.
2018-07-03 22:32:12 -07:00
Stuart Carnie 5e1f991e32 feat(Metal): initial xmb and glui menu support
TODOs

* menu shader pipeline effects
* refactor / optimize graphics rendering
2018-07-03 22:32:12 -07:00
Stuart Carnie 4135300b04 fix(materialui): Assign scale_factor and rotation to draw 2018-07-03 22:32:12 -07:00
Twinaphex 149f5b73a1 Merge pull request #6937 from DEX357/patch-16
Update msg_hash_pl.h
2018-07-04 00:59:04 +02:00
Twinaphex e0b71de5df Merge pull request #6936 from DEX357/patch-15
Update msg_hash_pl.h
2018-07-04 00:58:56 +02:00
DEX357 7a001a07aa Update msg_hash_pl.h 2018-07-02 20:13:19 +02:00
DEX357 f8f620f268 Update msg_hash_pl.h 2018-07-02 20:01:03 +02:00
Brad Parker 04d5e6368e Merge branch 'master' into qt_grid 2018-07-02 11:52:04 -04:00
Brad Parker c4f34f3c6f update JP translation 2018-07-02 11:51:00 -04:00
twinaphex 30f97ebe52 Add this 2018-07-01 22:22:17 +02:00
Twinaphex 4eb4c7b97d Create internal_cores.h 2018-07-01 21:19:40 +02:00
Twinaphex 39a1e494c5 Update CHANGES.md 2018-07-01 17:00:58 +02:00
Twinaphex 121ff2d4a5 Merge pull request #6931 from DEX357/patch-14
Update msg_hash_pl.h
2018-07-01 16:58:58 +02:00
Twinaphex 9cdf477c59 Merge pull request #6933 from Themaister/master
Vulkan: Try to avoid creating swapchains redundantly.
2018-07-01 16:58:30 +02:00
Themaister f2cae17021 Vulkan: Try to avoid creating swapchains redundantly.
Win32: Only make resize events when needed.
Do not create swapchain unless necessary.
Deal better with Windows WSI workarounds.
2018-07-01 16:21:09 +02:00
twinaphex efe9fc7339 Buildfix 2018-07-01 16:19:10 +02:00
DEX357 bf8e5c2e90 Update msg_hash_pl.h 2018-07-01 13:40:35 +02:00
Twinaphex 928cfacb11 Merge pull request #6930 from DEX357/patch-13
Update msg_hash_pl.h
2018-07-01 13:39:11 +02:00
DEX357 ebabd9486b Update msg_hash_pl.h 2018-07-01 13:34:16 +02:00
Twinaphex c4611f6379 Merge pull request #6928 from Themaister/master
Vulkan: Support multiple displays in VK_KHR_display.
2018-07-01 01:58:28 +02:00
Themaister c4ba8d26a0 Support multiple displays in VK_KHR_display. 2018-07-01 01:21:51 +02:00
Twinaphex a3ae537c02 Merge pull request #6862 from gblues/master
WIIU: cleanups to wiiu bootstrap code
2018-06-30 14:31:22 +02:00
Twinaphex 5366fc1f29 Merge pull request #6926 from fr500/staging
Android fixes
2018-06-30 14:31:06 +02:00
radius 717e45dc52 Add mouse wheel support
enable hold to bind on android

cleanup
2018-06-29 21:12:47 -05:00
radius fef9b63bc0 Revert "Disable ENABLE_TOUCH_SCREEN_MOUSE for now until issues are resolved"
This reverts commit 2b02616512.
2018-06-29 21:12:47 -05:00
David Walters 91dd569a73 fix: keep resetting bind during the hold period 2018-06-29 21:12:46 -05:00
David Walters d73954085a Hold to bind function (disabled with #if 0) 2018-06-29 21:12:46 -05:00
David Walters 70eda90d03 more accurate rarch_timer 2018-06-29 21:12:46 -05:00
David Walters 8a2b23de34 new setting "input_bind_hold" 2018-06-29 21:12:45 -05:00
Brad Parker 04311695aa netplay: always use configured port instead of hardcoding, and don't ask for IP address if one is already set. fixes #6626 2018-06-27 23:03:27 -04:00
Brad Parker 15924e5d9b fix "runtime error: member call on null pointer of type 'struct AppHandler'" 2018-06-27 13:25:13 -04:00
Twinaphex e786afe481 Update config.def.h 2018-06-27 00:25:52 +02:00
twinaphex 8a1c0be83c (Android) Another potential buildfix; define ENABLE_HLSL
(slang_process) Put HLSL/Cg code around ENABLE_HLSL ifdef
(SPIRV-Cross) Make sure macros no longer need to be redefined; make them
unique in both glsl and hlsl files; needed for Griffin builds
2018-06-26 13:18:17 +02:00
twinaphex 3bbf34aa58 Merge branch 'master' of https://github.com/libretro/RetroArch 2018-06-25 23:55:53 +02:00
twinaphex 0230c2f4d8 Merge commit 'a078d40b80103ba083ad04eab625084279e930b3' 2018-06-25 23:55:41 +02:00
twinaphex a078d40b80 Squashed 'libretro-common/' changes from edffe4d147..1548bee835
1548bee835 Update glsm
df7c8aebea Update glsm

git-subtree-dir: libretro-common
git-subtree-split: 1548bee835ab5fa2d120a4859ff653a5f128de1f
2018-06-25 23:55:40 +02:00
Twinaphex f88f7419d7 Merge pull request #6923 from libretro/revert-6922-revert-6882-patch-3
Revert "Revert "(wiiu) Use portlibs zlib and libpng""
2018-06-25 23:26:51 +02:00
Twinaphex 893dbc6bee Revert "Revert "(wiiu) Use portlibs zlib and libpng"" 2018-06-25 23:26:43 +02:00
Twinaphex 7bdf0fd9a6 Merge pull request #6922 from libretro/revert-6882-patch-3
Revert "(wiiu) Use portlibs zlib and libpng"
2018-06-25 22:33:53 +02:00
Twinaphex 3c6c9a8b08 Revert "(wiiu) Use portlibs zlib and libpng" 2018-06-25 22:33:45 +02:00
twinaphex 2ef56e906c Don't define this unless necessary 2018-06-25 21:52:24 +02:00
twinaphex d967cbc879 Add another ENABLE_HLSL ifdef 2018-06-25 21:51:23 +02:00
Twinaphex 0f4744bed7 Merge pull request #6921 from theheroGAC/patch-33
Update msg_hash_it.h
2018-06-25 21:40:39 +02:00
theheroGAC 8017f706d8 Update msg_hash_it.h 2018-06-25 21:38:22 +02:00
twinaphex 9d6de6b60d Buildfix for MSVC 2010 2018-06-25 19:49:41 +02:00
Twinaphex 07d226a76d Merge pull request #6882 from opendata26/patch-3
(wiiu) Use portlibs zlib and libpng
2018-06-25 18:16:59 +02:00
twinaphex 234102d475 (glslang) Buildfix for Android 2018-06-25 16:52:15 +02:00
Twinaphex e10d7d93df Merge pull request #6906 from meleu/patch-1
cheevos: support for ResetIf/PauseIf HitCount - closes #6817
2018-06-24 19:45:07 +02:00
Twinaphex 3bdc7ca352 Merge pull request #6915 from RobLoach/osd-font
freetype: Allow getting OSD Font from Assets Directory
2018-06-24 18:13:18 +02:00
Rob Loach e4fe33f437 freetype: Add comment about assets:// 2018-06-24 12:02:28 -04:00
Twinaphex 8585617f69 Merge pull request #6916 from stuartcarnie/sgc-metal
feat(Metal): font rendering
2018-06-24 17:54:37 +02:00
Rob Loach 8a96062ed0 freetype: Rename to osd-font.tff 2018-06-24 11:19:40 -04:00
Rob Loach da6b7987f1 freetype: Get DejaVuSansMono.ttf from the assets directory 2018-06-24 11:00:21 -04:00
Twinaphex 1504a9ed2d Merge pull request #6914 from DEX357/patch-12
Update msg_hash_pl.h
2018-06-24 16:20:57 +02:00
Stuart Carnie 367c15f488 feat(Metal): font rendering
* FPS and other OSD messages render correctly
* add autoreleasepool around entire render loop to avoid memory leaks
2018-06-23 23:54:23 -07:00
DEX357 e8e6f20f6c Update msg_hash_pl.h 2018-06-24 00:53:52 +02:00
Twinaphex c10aab9830 Merge pull request #6912 from stuartcarnie/sgc-metal
More metal resize, stability improvements
2018-06-24 00:28:22 +02:00
Stuart Carnie eacd52f009 fix(Metal): improve shader stability
* use MTKView, which handles layer and scaling changes automatically
  between displays
2018-06-23 13:33:27 -07:00
Stuart Carnie ee8d82dcfe add additional project files 2018-06-23 13:33:27 -07:00
meleu 536638eaf6 support for ResetIf/PauseIf HitCount 2018-06-23 17:25:16 -03:00
Jean-André Santoni 2a2e732a79 (Menu) Add a setting to hide the shutdown option 2018-06-23 12:01:13 +07:00
Jean-André Santoni ab3d8979ea (Menu) Hide overlays, rewind and latency in kiosk mode 2018-06-23 11:18:37 +07:00
twinaphex 7566e09970 Squashed 'libretro-common/' changes from c3c0facc97..edffe4d147
edffe4d147 Buildfix for 3DS - implicit declaration of isspace et al.

git-subtree-dir: libretro-common
git-subtree-split: edffe4d1470ae6b846e420392d324c1b2b14281a
2018-06-22 17:43:11 +02:00
Jean-André Santoni 6868670136 (XMB) Code cleaning 2018-06-22 22:31:06 +07:00
Jean-André Santoni 1ff15fd071 (Lakka) Flag MIDI menu as advanced 2018-06-22 22:25:07 +07:00
Jean-André Santoni bea3822331 (Lakka) Flag more settings groups with SD_FLAG_LAKKA_ADVANCED 2018-06-22 22:22:46 +07:00
Jean-André Santoni cfa53dd694 Update vscode includePath 2018-06-22 22:14:52 +07:00
twinaphex e8b0d6974d Merge commit '48cb38619ff8bbc5ff3c0df93704b3297047a8fe' 2018-06-22 15:00:02 +02:00
twinaphex 48cb38619f Squashed 'libretro-common/' changes from 999e69a9f1..c3c0facc97
c3c0facc97 whoops, cute bug
fc2866b999 no real point leaving these unimplemented, they're easy
bd1d5800db Add filestream_scanf

git-subtree-dir: libretro-common
git-subtree-split: c3c0facc97d3a4c065c72961b5ab165b99d3153c
2018-06-22 15:00:02 +02:00
twinaphex e3d406808f Merge branch 'master' of https://github.com/libretro/RetroArch 2018-06-21 21:54:34 +02:00
twinaphex 8baffb3fdf OPtionally compile hlsl files 2018-06-21 21:53:44 +02:00
Twinaphex 3df1fd7993 Update CHANGES.md 2018-06-21 10:20:31 +02:00
Twinaphex ad593a1eae Update CHANGES.md 2018-06-21 08:43:49 +02:00
Twinaphex 58351230d8 Update CHANGES.md 2018-06-21 08:39:41 +02:00
Twinaphex 511044270b Fix iOS build 2018-06-21 08:37:08 +02:00
twinaphex 3799a33efa Silence warnings 2018-06-21 08:31:08 +02:00
twinaphex 837cf84fc8 Put this around an ifdef 2018-06-21 08:26:27 +02:00
Twinaphex c0beef8365 Merge pull request #6905 from stuartcarnie/sgc-metal
fix(Metal): fix project file to include .metal resources
2018-06-21 08:25:43 +02:00
twinaphex 863204b343 Merge commit 'c68f2796b95838412610023611398d7c9968a3f3' 2018-06-21 08:22:10 +02:00
twinaphex c68f2796b9 Squashed 'libretro-common/' changes from c9b117d5b8..999e69a9f1
999e69a9f1 More warning fixes

git-subtree-dir: libretro-common
git-subtree-split: 999e69a9f1c3818b6018f39579421e7e52c6bb1b
2018-06-21 08:22:09 +02:00
twinaphex d14a3f0d1f Merge commit '5c25cc90765cbf6ad7f01c0b635c72595bc7f457' 2018-06-21 08:18:08 +02:00
twinaphex 5c25cc9076 Squashed 'libretro-common/' changes from 3d989dc968..c9b117d5b8
c9b117d5b8 Silence more warnings

git-subtree-dir: libretro-common
git-subtree-split: c9b117d5b8135acd6c175e93931f39067e7d0ec4
2018-06-21 08:18:07 +02:00
twinaphex 0d8729daa6 FIx warning 2018-06-21 08:12:02 +02:00
twinaphex 944cac8352 Squashed 'libretro-common/' changes from 156677b98e..3d989dc968
3d989dc968 Cleanups
dabdf7c539 Updates

git-subtree-dir: libretro-common
git-subtree-split: 3d989dc968fa529e91d8e8e4f42f8909451aa7a3
2018-06-21 08:07:19 +02:00
twinaphex 697531dbdd Merge commit '944cac83520c99e1ddf3d8cd3bf25990c8746d14' 2018-06-21 08:07:19 +02:00
Stuart Carnie 3462fd248c fix(Metal): fix project file to include .metal resources 2018-06-20 22:58:36 -07:00
twinaphex b05026b69f Buildfix 2018-06-21 07:56:40 +02:00
Twinaphex fd11b205da Silence bunch of warnings 2018-06-21 07:52:01 +02:00
Twinaphex 2bdffff435 Silence more warnings 2018-06-21 07:34:27 +02:00
Twinaphex 467aa30131 Cleanups 2018-06-21 07:26:05 +02:00
Twinaphex cede1e38f2 Update CHANGES.md 2018-06-21 07:09:46 +02:00
Twinaphex cd174c899a Merge pull request #6904 from stuartcarnie/sgc-apple-metal
feat(apple): Metal support for macOS
2018-06-21 06:44:03 +02:00
Stuart Carnie 411bcf8bdd feat(apple): Metal support for macOS
* includes rgui
* shader support

This is a work-in-progress and there are some bugs and visual artifacts
still to be fixed.
2018-06-20 21:33:45 -07:00
Twinaphex 1a091a83af Merge pull request #6902 from DEX357/patch-11
Update msg_hash_pl.h
2018-06-21 05:47:40 +02:00
DEX357 05464a469e Update msg_hash_pl.h 2018-06-20 19:57:44 +02:00
twinaphex b10f1faf7a Updates 2018-06-20 16:29:14 +02:00
twinaphex 8232265c8f Change MIDI submenu 2018-06-20 16:27:00 +02:00
twinaphex fb2d27931d Fix some warnings 2018-06-20 16:21:53 +02:00
twinaphex f8cad6f565 Update glslang 2018-06-20 10:47:08 +02:00
twinaphex 1f571be61d Fix warning 2018-06-20 10:24:10 +02:00
twinaphex 684b2f5722 Get rid of glslang-old 2018-06-20 10:23:00 +02:00
twinaphex abf7bf877e (glslang) Buildfix #1 2018-06-20 10:22:08 +02:00
twinaphex c15950a80c Merge commit 'db3f820301d386847befd1f43da650b2748e3e57' as 'deps/glslang-new' 2018-06-20 10:07:00 +02:00
twinaphex db3f820301 Squashed 'deps/glslang-new/' content from commit 5fe506a8ba
git-subtree-dir: deps/glslang-new
git-subtree-split: 5fe506a8ba0ce5629004d593da16db7f3f57c58b
2018-06-20 10:07:00 +02:00
twinaphex 0328298474 Squashed 'deps/SPIRV-Cross/' changes from c9516fa917..e59cc24495
e59cc24495 Merge pull request #607 from billhollings/master
ac57a30ad6 Regenerate MSL shaders to fix conflicts from merge.
ab2ea93e35 Merge branch 'master' of https://github.com/KhronosGroup/SPIRV-Cross
9b4defe202 CompilerMSL support matrices & arrays in stage-in & stage-out.
285f214071 Merge pull request #605 from KhronosGroup/unpack-regular-operations-msl
58fab58e5e Do not unpack transposed matrices.
192a882df3 Also unpack regular unary/binary operations on MSL.
dc565136fb Merge pull request #604 from KhronosGroup/fix-603
b86bd0a265 Unpack expressions when used in functions on MSL.
c5b6ba239c Merge pull request #599 from KhronosGroup/fix-295
f1e8555801 Emit matrix layouts in structs directly.
b1196f2ace Merge pull request #598 from KhronosGroup/fix-594
6bcc890e63 Sanitize underscores in general, not just for members.
6fea07f2fd Merge pull request #597 from KhronosGroup/fix-595-596-592
3a9b045dc3 Various maintenance fixes.
0a83bacf3e Merge pull request #593 from KhronosGroup/old-clang-compile
2a1ab4108b Fix compile on older clang.
6ef1c49ec0 Merge pull request #591 from KhronosGroup/fix-578
04b149feb0 Fix image load/store on cube arrays in MSL.
8bac5c09f3 Merge pull request #590 from KhronosGroup/fix-581
f65120c147 Deal with packed expressions in more scenarios.
db1ed375b0 Merge pull request #589 from KhronosGroup/fix-580
280fb93204 Add test for reading SSBO from fragment shader on MSL.
a1b3964cbd Run format_all.sh.
6b3da831be Declare read-only SSBOs as const device in MSL.
08336e7bbb Merge pull request #588 from KhronosGroup/pr-583
46bf17c5d3 Add SREM tests for HLSL/MSL.
7cba89b4a5 Add reference files for SREM.
6b144cc609 handle OpSRem
e792cd6160 no expression type for OpSRem
f1eacba244 Merge pull request #587 from zeux/master
91fd41816f Fix textureGrad compilation for legacy targets
8cc1fdbb30 Merge pull request #586 from KhronosGroup/fix-584
ba15daee33 Add support for inheriting bindings for combined image samplers.
f929c361c5 Merge pull request #577 from KhronosGroup/fix-575
bcaae84c76 Deal with scoping for Private variables.
26b887ec99 Fix atomic_compare_exchange_weak_explicit.
62c6d2d498 Merge pull request #576 from KhronosGroup/fix-574
fb7181bff1 Run format_all.sh.
c643addacd Only reflect spec constant if it actually has a constant ID.
991b655c72 Declare OpSpecConstantOp up-front on relevant targets.
0617b98613 Run format_all.sh.
3951b9456f Fix SpecConstantComposite if input is SpecConstantOp.
c74dc4578a Merge pull request #572 from KhronosGroup/vulkan-glsl-sampler-mediump
01080365fa Use mediump on images in --vulkan-semantics as well.
9d370aca58 Merge pull request #571 from KhronosGroup/fix-570
7eba247864 Handle inout properly with split access chains.
97e38bcd38 Merge pull request #569 from KhronosGroup/fix-566
b71f5dfc0c Fix split access chains for builtin arrays.
e4694a8403 Merge pull request #568 from KhronosGroup/fix-567
903b798da7 Fix GCC 8.1 build.
d3b966322d Merge pull request #565 from pmuetschard/master
aced6058b4 Don't limit GLSL identifiers with HLSL keywords.
2792f8f3f2 Merge pull request #564 from KhronosGroup/fix-563
85a8f066f4 Do not use RMW rewrite for matrices.
04f0a08cfc Merge pull request #562 from KhronosGroup/fix-561
d2df067dd4 Force recompile if we add row-major transpose functions in MSL.
7b95168c3d Do not clear spv_function_implementations on MSL.
9279750a1d Merge pull request #560 from KhronosGroup/fix-557
17be3c652f Deal with fake overloads when using combined image samplers.
e80d6e0142 Merge pull request #559 from KhronosGroup/fix-558
3187d89c31 Reduce test case ... MSL can't deal with certain unusual cases yet.
f3e810b8b3 Fix OpCompositeConstruct with arrays in MSL.
9d43e9c02a Merge pull request #556 from billhollings/master
ba1026b899 Merge branch 'master' of https://github.com/KhronosGroup/SPIRV-Cross
57213cb7ca Compiler MSL default gather offset when component specified.
1ebccb4466 Mention Wiki in README.
8f07df016b Merge pull request #555 from KhronosGroup/fix-553
7e23e69f2a Run format_all.sh.
47081f810a Fix GatherDref on GLSL.
6b478c928d Merge pull request #554 from KhronosGroup/query-fixes
40bbf6be7a Build combined dummy samplers for Query functions without sampler as well.
d93807a625 Deal with OpImageFetch without explicit LOD.
454691f434 Merge pull request #547 from KhronosGroup/op-image-usage-tracking
aaf397cd1f Fix usage tracking issue for OpImage.
bbf6b60350 Merge pull request #546 from KhronosGroup/fix-545
893ed379d5 Remove some stale test files.
cd442b9c2f Clean and fix some issues with test_shaders.py.
18958ecccb Add test for combined-sampler-reuse on GLSL.
0280800a8f Fix case where SampledImage would get flushed to temporary.
a090907607 Merge pull request #543 from KhronosGroup/fix-542
8b75e46433 Fix some formatting issues.
f56433b802 Add new tests for combined arrays of sampler + image.
a39eb4826b Combined array of images is starting to work ...
1478847122 Change AppVeyor badge link to the correct one.
d559a8df39 Add AppVeyor status badge.
dd39d36726 Merge pull request #540 from KhronosGroup/appveyor
cc82d14ee8 Add appveyor script.
d0c829b580 Add no-opt to CTest, make test_shaders.py faster when FXC is missing.
2804d9acd7 Merge pull request #539 from KhronosGroup/fix-533
e351e5c565 Use convert_to_string for lod clamp.
e30a94225f Complete MSL constexpr samplers.
64f9461d72 Check for array of samplers.
df58debf7a Add support for constexpr samplers in MSL.
3a8335eee0 Merge pull request #537 from KhronosGroup/fix-535
b9cd3dcd7f Run format_all.sh.
e930f79e2e Be a bit smarter about uint on legacy targets.
2684054bbd Merge pull request #538 from KhronosGroup/fix-io-block-location
b06c1af9b3 Distinguish between enhanced_layouts and SSO requirements.
28c9be8a23 Unsigned integers are disallowed on legacy targets.
7796a9f3ec Merge pull request #531 from KhronosGroup/subgroup
c266429be9 Partially implement subgroup ops for HLSL SM 6.0.
146ea76f52 Add test shader for subgroup.
e1ccfd5dbb Implement all of subgroup.
f6c0e53f58 Start adding Vulkan 1.1 subgroup support to GLSL.
489e04e09e Merge pull request #530 from KhronosGroup/fix-529
9c2761f69a Run format_all.sh.
8175e2e200 Fix depth compare textures when used in functions without argument.
edac731360 Merge pull request #528 from msiglreith/fix_root_constants_name
6bdd775936 Merge pull request #526 from taisei-project/strip-uniform-location
f260c452f7 Fix naming of root constants
4a43024dba Strip uniform locations for ESSL < 3.00 and GLSL < 430
9b8c2c4654 Merge pull request #524 from KhronosGroup/fix-512-523
694b314f87 Support empty structs.
31a3fdf4ee Decouple public require_extension and the internal use of the function.
d0133c5dd9 Merge pull request #509 from KhronosGroup/hlsl-semantic-counter-buffer
d8cdab2f57 Add test shader for semantic decoration.
05c66f9cac Add test shader which uses counter buffer extension.
215d3ca0a4 Add support for new HLSL semantic/counter buffer decorations.
7f84537350 Merge pull request #519 from KhronosGroup/fix-507
ac81a0ce68 Use declared binding in SPIR-V as a fallback for explicit MSL binds.
e8ca39b7b5 Add test for sampler image arrays.
382101bd05 Run format_all.sh.
1d082e9b79 Fix passing arrays of combined image samplers in HLSL.
5827dd54ea Support array of images and samplers in MSL.
81eb72a9a0 Ignore LOD when sampling 1D textures in MSL.
69ffd918a6 Merge pull request #522 from KhronosGroup/fix-515
938040be0b Only disable binding layout for UBOs.
fe697a80f5 Emit classic uniform for UBO in GLSL 1.30.
65be63fd04 Merge pull request #521 from KhronosGroup/fix-516
a6e211e00b Support dual-source blending on GLSL and MSL.
a1e30c8c2b Merge pull request #520 from KhronosGroup/fix-517
3229e6efb6 Add more illegal name replacement in MSL.
761b06bc73 Merge pull request #514 from KhronosGroup/fix-510
a901b4c814 Remove redundant temporary sort.
c1947aa447 Update glslang/SPIRV-Tools on Travis.
35f64d03bb Fix name aliasing for temporary variables.
5161d5ed3b Merge pull request #505 from KhronosGroup/msl-array-mrt
719cf9d42f Run format_all.sh.
8e90382675 Properly flatten MRT outputs in MSL.
6e6ca0b237 Attempt MRT-as-array in MSL.
fbfe13657a Merge pull request #502 from KhronosGroup/update-glslang-spirv-tools
4f348a9807 Update README and update_test_shaders.sh.
b46910e9f5 Access chain into packed vectors as arrays.
a6afda650f Add newly moved reference files.
cdbd376c42 Try building debug on Travis.
e7bf8d2f48 Refactor out noopt shaders to their own folders.
1a4a36b6cd Experiment a bit more with Travis.
5a746ba941 Split checkout and build on Travis CI.
4979d10b54 Implement packHalf2x16/unpackHalf2x16 on MSL.
ae2680c898 Make sure ballotARB inherits expression dependencies.
938c7debed Handle control-dependent temporaries.
012377f811 Refactor block IO emission to use bitset.
955eac522b Make use of the handy scripts for Travis as well.
9fbd8b789e Update tests for latest SPIRV-Tools and glslang.
e8e58844d4 Rewrite everything to use Bitset rather than uint64_t.
29315f3b3f Merge pull request #498 from JustSid/master
e66fd6c2a0 Added generation of the textureXYZGrad() legacy GLSL instruction
0f9cb0da0d Merge pull request #497 from KhronosGroup/fix-489
9a52713d77 Run format_all.sh.
a803e5ae38 Deprecate set_options()/get_options() interface, replace it.
236b2fa47c Merge pull request #496 from KhronosGroup/fix-494
e3b8e9455c Add test shader where a phi variable invalidates a temporary.
1de74fdabd Explicitly emit break/continues in selection branches.
e0efa737ca Expand the implementation of inherit_expression_dependencies.
01fbb3a342 Merge pull request #495 from KhronosGroup/fix-493
28cccc3dbb Emit complex continue blocks "properly".
54549a624f Add some test shaders for special merge methods.
8d557d4103 Handle cases where merge selects as also loop merge or continue blocks.
8c8a93f745 Merge pull request #492 from KhronosGroup/fix-488
922420e346 Disallow arrays and structs from becoming loop variables.
2e5d06d1ce Merge pull request #485 from KhronosGroup/fix-484
bdabd0c73a Disable double test in MSL FP16 tests.
723bec5d33 frexp/ldexp fails in debug builds, workaround temporarily.
0780820a7b Skip interpolateAt tests with FP16.
ac0e93f392 Run format_all.sh.
18ad1be3c3 Add FP16 test for MSL as well.
47d94ff8d9 Add FP16 to HLSL.
770ed25f29 Merge pull request #487 from KhronosGroup/fix-486
15a941cd3d Add builtin GLSL functions to blacklist.
d9da2db442 Some compat fixes for MSL and Half.
547278da12 Test denormal fp16 constants.
24dfe496c2 Run format_all.sh.
05348a66ca Add test shader for FP16 support.
bc0f698df3 Fix packing alignments for float16.
91f85d3412 Begin adding float16_t support to GLSL.
b0a2de5b63 Merge pull request #483 from KhronosGroup/fix-466
38d9d8af68 Add some more MSL test shaders.
5fe79eb59c Update tests.
294259e2f1 Fix type aliasing on MSL.

git-subtree-dir: deps/SPIRV-Cross
git-subtree-split: e59cc244958af6059f7bd1d16d833e17409dec37
2018-06-20 09:32:45 +02:00
twinaphex 4fb79dfffe Merge commit '032829847454432a4b149452d6354c13c5888239' 2018-06-20 09:32:45 +02:00
twinaphex e3d04fd14a This spams too much, disable this 2018-06-20 07:31:05 +02:00
Twinaphex cdbdd04cda Merge pull request #6901 from RobLoach/gtest-submodule
discord: Remove the gtest submodule
2018-06-20 07:24:49 +02:00
Rob Loach e45692b70d rapidjson: Remove the gtest folder 2018-06-20 00:23:15 -04:00
twinaphex 2367c33887 Mpv integration now works 2018-06-20 06:17:47 +02:00
twinaphex d27b6265a0 Add more HAVE_MPV ifdefs 2018-06-20 04:50:58 +02:00
twinaphex 0286829348 Start adding HAVE_MPV ifdefs 2018-06-20 04:29:31 +02:00
twinaphex e51d8b6b0f Update mpv-libretro.c 2018-06-20 03:53:37 +02:00
twinaphex f9f15dc5c5 Update mpv libretro core 2018-06-20 03:46:53 +02:00
Twinaphex dde650074a Update CHANGES.md 2018-06-19 14:31:49 +02:00
Twinaphex 7385cc3d23 Merge pull request #6899 from DEX357/patch-10
Update msg_hash_pl.h
2018-06-19 14:31:06 +02:00
DEX357 c7d565c6c2 Update msg_hash_pl.h 2018-06-19 14:03:48 +02:00
twinaphex c4da475384 Buildfix 2018-06-19 11:59:41 +02:00
Twinaphex 76d540a075 Merge pull request #6898 from libretro/android_susperf_setting
android: add configurable setting for Sustained Performance Mode
2018-06-19 09:30:30 +02:00
Brad Parker aa083d1e4c android: add configurable setting for Sustained Performance Mode 2018-06-19 02:50:33 -04:00
twinaphex 981b0eec91 Take this out 2018-06-19 06:28:38 +02:00
twinaphex c1f16e156e Add Power Management submenu 2018-06-19 06:23:38 +02:00
Twinaphex 48128a9b36 Merge pull request #6894 from libretro/android_susperf
android: enable sustained performance mode if supported
2018-06-19 04:41:02 +02:00
Twinaphex 1feadee0cb Merge pull request #6895 from casdevel/midi
Document MIDI interface
2018-06-18 23:53:53 +02:00
opendata26 707855beda (wiiu) add back HAVE_BUILTINZLIB but disabled by default 2018-06-18 21:41:30 +01:00
Zoran Vuckovic 8d99044fb4 Document MIDI interface 2018-06-18 21:26:10 +02:00
Brad Parker 612ed942d0 android: enable sustained performance mode if supported, bump target API to 24 2018-06-18 12:56:14 -04:00
twinaphex ca3b8149a8 MSVC 2003 buildfix 2018-06-18 05:03:26 +02:00
Twinaphex 798635bf8a Update CHANGES.md 2018-06-18 03:21:28 +02:00
twinaphex 54a95eed83 These defines are not available on Android NDK APIs lower than 24 2018-06-18 01:56:22 +02:00
twinaphex e39b92a1f0 Another buildfix 2018-06-18 01:44:17 +02:00
twinaphex 7d3f62a816 Buildfix 2018-06-18 01:35:38 +02:00
twinaphex a6b0dd9f57 Buildfixes 2018-06-18 01:05:52 +02:00
twinaphex e0405b2f5c Add MIDI to Griffin 2018-06-18 00:37:51 +02:00
Twinaphex 49f3dacde5 Merge pull request #6892 from casdevel/midi
Add MIDI support
2018-06-17 23:07:26 +02:00
twinaphex 76db13fda4 Merge commit '950525a37032877e080ee0f4455c0c4cda550d45' 2018-06-17 20:11:37 +02:00
twinaphex 950525a370 Squashed 'libretro-common/' changes from 8030c86033..156677b98e
156677b98e Update

git-subtree-dir: libretro-common
git-subtree-split: 156677b98efb626c8b4c6fe8df4730ed0a15120f
2018-06-17 20:11:36 +02:00
twinaphex fa1ec0780b Merge commit '3997b59cd652c7852f866aa11c25693fab6bbcda' 2018-06-17 20:04:50 +02:00
twinaphex 3997b59cd6 Squashed 'libretro-common/' changes from 705d72b4a3..8030c86033
8030c86033 Update
5303312e02 Update
a5507504f4 Merge pull request #80 from markwkidd/patch-2
fde3bc8334 Update libretro.h
afa570f1c0 clarify how input device subclasses are declared
4c0a96ba8a Update glsm.c
e5c75fcecb Merge pull request #78 from markwkidd/correct-path_remove_extension-desc
9713f7f66e correct path_remove_extension docs

git-subtree-dir: libretro-common
git-subtree-split: 8030c86033c7c20f554d41e009fc73f1bf4dff2d
2018-06-17 20:04:50 +02:00
Zoran Vuckovic 22d30a0dbf Fix segfault on device change 2018-06-17 18:50:27 +02:00
Twinaphex 7335db08dc Update CHANGES.md 2018-06-17 05:10:44 +02:00
Twinaphex ef1ec3131e Update CHANGES.md 2018-06-17 05:10:00 +02:00
Twinaphex 6df3597f97 Merge pull request #6881 from L0sted/master
Some russian translations
2018-06-17 02:27:05 +02:00
Twinaphex fde7796cb0 Merge pull request #6888 from bparker06/android_battery
support powerstate/battery level in Android
2018-06-17 02:26:10 +02:00
Brad Parker 7176bb19ad support powerstate/battery level in Android 2018-06-16 19:15:16 -04:00
Zoran Vuckovic b487c3cace Add MIDI support 2018-06-16 21:17:32 +02:00
opendata26 cbc804783f (wiiu) Use portlibs zlib and libpng
Zlib needed for libpng to work, used in some cores.

Signed-off-by: Craig Tatlor <[email protected]>
2018-06-15 18:53:45 +01:00
Twinaphex 9d0c0b77ee Merge pull request #6883 from fr500/master
subsystem: set the subsystem correctly
2018-06-14 23:54:18 +02:00
radius aa35b9da46 subsystem: set the subsystem correctly 2018-06-14 16:38:27 -05:00
l0sted 81e01da585 a lot of work 2018-06-14 15:48:44 +03:00
Twinaphex fd1c354811 Merge pull request #6876 from retro-wertz/patch-1
Better no log at all than showing a false log
2018-06-14 00:51:17 +02:00
l0sted a90008f7ed a lot of changes 2018-06-13 15:32:48 +03:00
l0sted 99b6757400 Latency translation 2018-06-13 13:30:01 +03:00
l0sted af02712712 Updated russian translation 2018-06-13 13:21:15 +03:00
Brad Parker 19dd1c15eb Merge branch 'master' into qt_grid 2018-06-12 20:49:50 -04:00
bparker06 ab9e00219d Add null pointer check 2018-06-11 20:28:36 -04:00
Twinaphex 890c781a76 Merge pull request #6874 from altiereslima/master
Update portuguese brazilian translation.
2018-06-11 14:48:50 +02:00
retro-wertz ce27e986e9 Better no log at all than showing a false log
This false message has been like foreve. Nobody seems interested in updating "small and minor" things. so lets just remove this....
2018-06-11 17:08:59 +08:00
altiereslima 3f04c639b4 Update portuguese brazilian translation. 2018-06-10 19:58:50 -03:00
gblues 9ea16c0b3d Updates from PR feedback (ty @aliaspider) 2018-06-07 21:16:49 -07:00
gblues 8b87a53366 Replace hokey "hooks" struct with weak symbol annotations
- Did a test build to ensure RA built
- Copied over to my FTPservU sources and ensured no compile issues there

Looks solid. A lot cleaner, too.

@aliaspider
2018-06-07 18:41:16 -07:00
Twinaphex a4144dfe9b Merge pull request #6869 from FIX94/master
(GC) ACTUALLY fix up build
2018-06-07 21:10:32 +02:00
FIX94 6ede99b47b (GC) ACTUALLY fix up build 2018-06-07 21:04:34 +02:00
hizzlekizzle 9271a7505f Merge pull request #6863 from Brunnis/xmb-thumbnails-issue
Implement fix for thumbnails not showing up in Quick Menu as well as …
2018-06-07 13:26:32 -05:00
Brad Parker ef8390dee1 Merge branch 'master' into qt_grid 2018-06-07 11:57:05 -04:00
Twinaphex a7a54800e8 Merge pull request #6868 from Themaister/master
Vulkan: Fix two validation errors.
2018-06-07 05:07:24 +02:00
Mikael Brunnhede 0813de0392 Hide thumbnails in Quick Menu sub-menus. 2018-06-06 23:48:07 +02:00
Hans-Kristian Arntzen 16c797f057 Vulkan: Fix two validation errors.
- Mipgen was only transitioning the first miplevel to GENERAL.
  Fix the image barrier helper function to transition all levels and
  layers.

- Validation layer was complaining that a VkSwapchainKHR was not
  properly destroyed. After recycling the swapchain, destroy the old
  one.
2018-06-06 23:23:32 +02:00
Twinaphex 6a9e73b7f2 Merge pull request #6865 from DEX357/patch-9
Update msg_hash_pl.h
2018-06-06 18:16:50 +02:00
DEX357 d94f9bd921 Update msg_hash_pl.h 2018-06-06 18:02:35 +02:00
Mikael Brunnhede 75330a142d Implement fix for thumbnails not showing up in Quick Menu as well as "Run" menu after closing content. Also implement fix for savestate thumbnail being hidden behind boxart/screenshot thumbnails. With this fix, boxart/screenshot thumbnails are not shown on the right hand side if there is a savestate screenshot being rendered. 2018-06-05 10:51:51 +02:00
gblues f22c337cfc WIIU: cleanup and build-out of wiiu bootstrap code
I used the code in `wiiu/` to bootstrap my own WiiU homebrew app; this
PR reflects some changes I needed to make, that might be useful upstream.

1. Clean up filesystem initialization

Filesystem driver initialization was lumped in with filesystem mounting;
and that was a problem in my project, because I needed to be able to remount
the SD card on the fly. So, now it's split up.

I've added a callback object named "hooks" that can be used by consuming
applications to handle filesystem mounting and unmounting. If these hooks are
not provided, then the existing default behavior occurs.

2. Expand socket handling

- add `SO_NONBLOCK` flag for non-blocking socket I/O
- add normal errno defines like `EWOULDBLOCK` `EAGAIN`.

3. Remove RetroArch dependencies

- the exception handler protects usage of version_git with
  `#ifdef HAVE_GIT_VERSION` but not the include, so I added that.

  It also technically depends on version.h, but I'm not touching that.
  It's easy enough to implement and I needed the same functionality. I'm
  not sure what the best solution for that dependency is.

- missing_libc_functions.c included features/features_cpu.h which is
  a libretro include. This appears to be a stale include though, because
  everything compiles and works without it.

- an ifdef referencing the RA "WIIU" define, rather than the devkitpro
  "__wiiu__" define
2018-06-05 00:06:40 -07:00
gblues 21fd83f766 Merge github:libretro/RetroArch 2018-06-04 23:38:38 -07:00
twinaphex ec718c6f71 Should only be used for Wii 2018-06-04 21:25:04 +02:00
Twinaphex 7bfe9e409a Merge pull request #6860 from meleu/patch-22
fix crash when scrolling cheevos list. fixes #6732
2018-06-04 16:31:08 +02:00
meleu 0ffe0f8513 fix crash when scrolling cheevos list. fixes #6732 2018-06-04 10:07:18 -03:00
Twinaphex 5bc7acffd5 Merge pull request #6858 from meleu/patch-22
show cheevos description on RGUI - fixes #6764
2018-06-04 03:53:39 +02:00
meleu 6040e1c0fc show cheevos description on RGUI - fixes #6764 2018-06-03 16:46:20 -03:00
Twinaphex 6ecf64d08f Merge pull request #6855 from GregorR/null-input-joypad-driver
Fix input when the joypad driver is NULL.
2018-06-02 23:04:45 +02:00
Gregor Richards af357c1afe Fix input when the joypad driver is NULL. 2018-06-01 23:22:04 -04:00
Twinaphex e4476ec61b Merge pull request #6847 from reswitched/nsw-dynamic
NSW: dynamic core loading
2018-06-02 01:39:00 +02:00
Twinaphex 861d87281e Merge pull request #6852 from theheroGAC/patch-32
Update msg_hash_it.h
2018-06-01 02:40:49 +02:00
Twinaphex ab9a9e733e Merge pull request #6853 from FIX94/patch-1
(GC/Wii) revert commit 822e2fd
2018-06-01 02:40:40 +02:00
FIX94 3f8235db28 revert commit 822e2fd
commit 822e2fd broke sd gecko mounting on gamecube, making the gamecube build unusable, reverting it makes it run fine again
2018-06-01 00:22:42 +02:00
theheroGAC 430d674b4e Update msg_hash_it.h 2018-05-31 22:45:32 +02:00
Twinaphex adaac8a8cd Merge pull request #6851 from meepingsnesroms/master
Update README.MD(Fixed)
2018-05-31 20:49:02 +02:00
meepingsnesroms c0da95559f Update README.MD(Fixed) 2018-05-31 10:26:35 -07:00
Twinaphex ad79fbe4a9 Merge pull request #6846 from GregorR/netplay-runahead-compatibility
Fix compatibility between netplay and runahead
2018-05-31 10:29:22 +02:00
Twinaphex 49c08baaa7 Merge pull request #6848 from reswitched/fix-tearing
NSW: fix tearing
2018-05-31 10:28:11 +02:00
misson20000 97994b0684 NSW: libtransistor added an ELF loader, and cores are now .so instead of .nro 2018-05-30 22:13:55 -07:00
misson20000 1ef6b1d8e4 NSW: wip dynamic support 2018-05-30 22:13:55 -07:00
Gregor Richards 2c07561fc1 Fix compatibility between netplay and runahead
Unsurprisingly, netplay and runahead are wildly incompatible; both rely
on internal rewinding, without communicating this fact to each other.
Somewhat more surprisingly, netplay already has all the infrastructure
for negative input latency, as it's structurally the same as receiving
delayed input from a peer. This patch makes the two features
"compatible" by disabling runahead per se when netplay is active, and
using runahead's configuration to adjust netplay's own input latency
feature, which is now allowed to be negative. The effect is mostly the
same (modulo the second core support), and it doesn't confuse netplay
peers.
2018-05-30 22:01:02 -04:00
misson20000 1404b63219 fix for tearing (depends on libtransistor commit cf5d0403 in v2.0.0, which is yet to be released) 2018-05-30 18:04:58 -07:00
Twinaphex 0045e1fff2 Merge pull request #6845 from DEX357/patch-8
Update msg_hash_pl.h
2018-05-30 07:20:49 +02:00
DEX357 9cf843e349 Update msg_hash_pl.h 2018-05-30 02:30:51 +02:00
twinaphex a3a047b8ec Fix Coverity warning 2018-05-29 22:01:05 +02:00
twinaphex b1ec722a75 Buildfix 2018-05-29 18:55:18 +02:00
Twinaphex 65232d3ab4 Merge pull request #6842 from gmdvieira/wayland.screensaver
Add screensaver (idle) inhibition for Wayland driver
2018-05-29 17:23:22 +02:00
hizzlekizzle 34a75ba605 Merge pull request #6578 from Stevoisiak/settings-driver-section
retroarch.cfg: Reorganize sections
2018-05-29 09:28:22 -05:00
Gustavo Maciel Dias Vieira 14c505117d Add screensaver (idle) inhibition for Wayland driver
The Wayland driver currently has no implementation for gfx_ctx_wl_suppress_screensaver. This adds a Dbus implementation using the same infrastructure used by the X11 driver.
2018-05-29 09:56:58 -03:00
twinaphex ddbc0d53c0 Add Discord Enable option to Settings -> Privacy 2018-05-29 12:41:13 +02:00
twinaphex 81ce02cf74 Put this around an ifdef 2018-05-29 12:18:31 +02:00
twinaphex 6d81d31ef5 Enable Discord setting 2018-05-29 12:18:01 +02:00
twinaphex b5f6ae7931 (Discord) Add translatable string 2018-05-29 11:14:21 +02:00
twinaphex 406342479a Change function signature of discord_update 2018-05-29 11:09:13 +02:00
twinaphex 1fb57857ea Add discord_is_inited 2018-05-29 11:06:43 +02:00
twinaphex 31e7894539 Get rid of unnecessary ifdef 2018-05-29 10:43:45 +02:00
twinaphex 8ad1ddbac5 Disable discord support for C89 2018-05-29 10:42:18 +02:00
twinaphex b4912a718f (Discord.c) Cleanups 2018-05-29 10:40:01 +02:00
twinaphex 4a035f5b22 Start adding files for Mac/Linux 2018-05-29 10:30:56 +02:00
twinaphex d488dfcafa Make these files Windows-specific 2018-05-29 10:24:17 +02:00
twinaphex e056cd8005 Disable HAVE_DISCORD for now 2018-05-29 10:22:07 +02:00
Twinaphex 2848f1f2b1 Merge pull request #6840 from fr500/master
WIP: discord-rpc support
2018-05-29 10:21:28 +02:00
radius 00bb17588d Merge commit '6e7a18a5987cbd5dec80308250062867f2cc3aad' as 'deps/discord-rpc/thirdparty/rapidjson-1.1.0' 2018-05-28 23:59:23 -05:00
radius 6e7a18a598 Squashed 'deps/discord-rpc/thirdparty/rapidjson-1.1.0/' content from commit 2fb78f9cee
git-subtree-dir: deps/discord-rpc/thirdparty/rapidjson-1.1.0
git-subtree-split: 2fb78f9cee01996f020d5af7592b37c5a0693b31
2018-05-28 23:59:23 -05:00
radius f0082d710c restore this file 2018-05-28 23:49:23 -05:00
radius 0308191f88 Merge commit 'b86df4ee09564e88f9d2c994ef9d5af75d4e7395' as 'deps/discord-rpc' 2018-05-28 23:46:51 -05:00
radius b86df4ee09 Squashed 'deps/discord-rpc/' content from commit ba9fe00c4d
git-subtree-dir: deps/discord-rpc
git-subtree-split: ba9fe00c4de1d680cdc56605d9c0d2b4cf8e7a07
2018-05-28 23:46:51 -05:00
radius d5c2bc90c1 add discord files 2018-05-28 23:46:36 -05:00
Brad Parker 8d886751b9 Merge branch 'master' into qt_grid 2018-05-28 18:16:13 -04:00
Brad Parker 8c6bc4a678 Qt: update UI after loading every 25 grid items, keep grid from mixing up content from multiple playlists if the user switches to a new one before one is finished loading 2018-05-28 18:14:36 -04:00
Twinaphex b378566cb8 Merge pull request #6837 from Dwedit/dirty_input_fix
Add bounds checking to runahead dirty input code
2018-05-28 20:19:31 +02:00
Twinaphex cdc2bdb327 Merge pull request #6835 from Dwedit/null-fix_
Fix a calloc(0) which led to uninitialized data being used later on.
2018-05-28 20:19:21 +02:00
Dwedit adbc71ce46 Change bounds to a const variable
Add one more bounds check
2018-05-28 12:14:04 -05:00
Dwedit e8b381680a reformat spaces 2018-05-28 12:04:11 -05:00
Dwedit becb6dee16 Fix out of bounds access in dirty_input code 2018-05-28 12:01:18 -05:00
Dwedit 51f7746407 reformat like the old code 2018-05-28 10:58:04 -05:00
Dwedit 8cd8e7d3ae Fix a calloc(0) which led to uninitialized data being used later on. 2018-05-28 10:54:25 -05:00
twinaphex 23b0444afe Update libretro-common 2018-05-28 17:30:56 +02:00
Twinaphex 877766d0ae Merge pull request #6834 from Dwedit/null-fix_
Fix null pointer read in action_bind_sublabel_subsystem_add
2018-05-28 17:13:08 +02:00
Dwedit 6ef5232f32 Fix null pointer read in action_bind_sublabel_subsystem_add 2018-05-28 09:37:43 -05:00
Twinaphex d00fe30f0e Merge pull request #6831 from ReRetro/master
Change Retroarch to RetroArch once again for the 3ds
2018-05-27 21:09:08 +02:00
Twinaphex 743ab2351c Merge pull request #6829 from fr500/overrides
only apply deadzone on analog to digital remapping, not analog to analog
2018-05-27 21:08:52 +02:00
Yarsan Hoessain 99c074e275 Change Retroarch to RetroArch once again for the 3ds 2018-05-27 20:21:41 +02:00
radius c2c5265916 only apply deadzone on analog to digital remapping, not analog to analog 2018-05-27 11:58:52 -05:00
Twinaphex 3a96314bfd Merge pull request #6828 from DEX357/patch-7
Update msg_hash_pl.h
2018-05-26 09:50:36 +02:00
DEX357 9af767163f Update msg_hash_pl.h 2018-05-26 00:55:55 +02:00
alphanu1 488d142ebf Merge pull request #75 from alphanu1/alphanu1-patch-71
Black screen fix
2018-05-25 12:27:43 +01:00
alphanu1 7c50550fc3 Black screen fix 2018-05-25 12:26:11 +01:00
Twinaphex 06aab60307 Merge pull request #6827 from alphanu1/master
Porch adjust to fix aspect and 240p menu for CRT
2018-05-25 12:21:04 +02:00
alphanu1 05cf6fa114 Merge pull request #74 from alphanu1/alphanu1-patch-70
Porch adjust to fix aspect
2018-05-25 10:58:59 +01:00
alphanu1 b4996e6d41 Porch adjust to fix aspect 2018-05-25 10:58:43 +01:00
alphanu1 31919e9a61 Merge pull request #73 from alphanu1/alphanu1-patch-69
240p menu for CRT
2018-05-25 10:57:47 +01:00
alphanu1 e6b2f5a734 240p menu for CRT 2018-05-25 10:57:32 +01:00
alphanu1 a002297f37 Merge pull request #72 from alphanu1/alphanu1-patch-68
update
2018-05-25 10:56:46 +01:00
alphanu1 f99540e9d0 update 2018-05-25 10:56:22 +01:00
alphanu1 9c03f99eb9 Merge pull request #71 from alphanu1/alphanu1-patch-67
update
2018-05-25 10:55:54 +01:00
alphanu1 23ec5eed84 update 2018-05-25 10:55:15 +01:00
alphanu1 8a5dce2d25 Merge pull request #70 from alphanu1/alphanu1-patch-66
Porch adjust to fix aspect
2018-05-25 10:49:48 +01:00
alphanu1 a98ce80df0 Porch adjust to fix aspect 2018-05-25 10:49:28 +01:00
alphanu1 0ecd571d0f Merge pull request #69 from alphanu1/alphanu1-patch-65
240p menu for CRT
2018-05-25 10:43:26 +01:00
alphanu1 e20e0b1cfd 240p menu for CRT 2018-05-25 10:42:57 +01:00
alphanu1 f9fb5ae659 Merge pull request #68 from libretro/master
update
2018-05-25 10:41:38 +01:00
Twinaphex 25fbcb33e5 Merge pull request #6821 from reswitched/master
NSW: fix analog sticks
2018-05-24 10:41:49 +02:00
misson20000 dd0ad28818 NSW: fix analog sticks 2018-05-24 00:18:38 -07:00
Twinaphex 1b7fb1530a Merge pull request #6820 from altiereslima/master
Update Portuguese Brazilian Translation #2
2018-05-22 04:03:16 +02:00
altiereslima b2303b8ef4 Update Portuguese Brazilian Translation #2 2018-05-21 22:56:25 -03:00
Twinaphex a5b877b142 Merge pull request #6812 from altiereslima/master
Update Portuguese Brazilian Translation
2018-05-21 04:12:09 +02:00
Twinaphex 62bf39316f Merge pull request #6811 from alfrix/spanish
Fix build
2018-05-21 04:12:01 +02:00
altiereslima 1530d6ce3e Update Portuguese Brazilian Translation 2018-05-20 22:56:03 -03:00
Alfrix 82a869b142 Fix build 2018-05-20 22:51:05 -03:00
Twinaphex 3c49c8c856 Merge pull request #6807 from markwkidd/master
Improve text for existing menu item -- "Save Game-options file"
2018-05-21 03:03:18 +02:00
Twinaphex 73287af8e4 Merge pull request #6808 from DEX357/patch-5
Update msg_hash_pl.h
2018-05-21 03:02:52 +02:00
Twinaphex 6f1a80dafe Merge pull request #6809 from DEX357/patch-6
Update msg_hash_pl.h
2018-05-21 03:02:46 +02:00
Twinaphex 430a79da5a Merge pull request #6810 from alfrix/spanish
Spanish Update
2018-05-21 03:02:36 +02:00
Alfrix 056664ee7d Update Spanish 2018-05-20 19:56:58 -03:00
DEX357 5313aca11d Update msg_hash_pl.h 2018-05-21 00:04:16 +02:00
DEX357 0a45468af9 Update msg_hash_pl.h
missing entries
2018-05-20 23:48:50 +02:00
markwkidd b2c767ee22 provide a verb for the Save Game-option command
Signed-off-by: markwkidd <[email protected]>
2018-05-20 15:30:26 -05:00
Twinaphex 58e13ab6ca Merge pull request #6802 from DEX357/patch-4
Update msg_hash_pl.h
2018-05-20 17:39:28 +02:00
DEX357 64c6f88512 Update msg_hash_pl.h
amendments
2018-05-20 15:10:10 +02:00
Twinaphex dec45f0963 Merge pull request #6800 from DEX357/patch-3
Update msg_hash_pl.h
2018-05-20 08:00:22 +02:00
Twinaphex 463348cb2e Merge pull request #6801 from meepingsnesroms/master
Update the 3ds build system to match new core format
2018-05-20 08:00:13 +02:00
gblues 10ae93153a Merge github:libretro/RetroArch 2018-05-19 18:54:34 -07:00
meepingsnesroms f3bad8b3e2 Fix salamander for 3dsx build 2018-05-19 11:42:08 -07:00
meepingsnesroms 51b9b69828 Finish buildbot fixes 2018-05-19 11:35:12 -07:00
meepingsnesroms f59913ab04 Remove tab 2018-05-19 10:03:57 -07:00
meepingsnesroms 6c1e865d28 Make build system match core format 2018-05-19 09:59:47 -07:00
DEX357 702dc1bb80 Update msg_hash_pl.h
Further corrections and omissions.
2018-05-19 18:49:16 +02:00
Twinaphex 31c5cc9269 Update CHANGES.md 2018-05-19 16:50:16 +02:00
Twinaphex 30a37af792 Merge pull request #6798 from meepingsnesroms/master
Add another error handler, fix variable name formatting
2018-05-19 16:23:30 +02:00
Twinaphex d42d9efd32 Merge pull request #6797 from DEX357/patch-2
Update msg_hash_pl.h
2018-05-19 16:23:07 +02:00
meepingsnesroms 5b2ec62a41 Add another error handler, fix variable name formatting 2018-05-18 17:39:11 -07:00
DEX357 496fbc1f50 Update msg_hash_pl.h
minor grammar changes
2018-05-19 01:42:49 +02:00
twinaphex c7c1983c91 Update d3d9_set_pixel_shader 2018-05-18 20:43:12 +02:00
twinaphex eac9ce1818 Refactor load_program 2018-05-18 08:49:52 +02:00
twinaphex 9dea722c39 Update portion of dr_flac.h that was problematic on
certain systems
2018-05-18 05:32:07 +02:00
twinaphex 2bda59b8e4 (platform_unix.c) Get rid of some warnings 2018-05-18 05:17:13 +02:00
Twinaphex 6a291e0240 Merge pull request #6794 from alfrix/spanish
Spanish Update
2018-05-18 04:09:28 +02:00
Alfrix d604239f00 Update Spanish 2018-05-17 21:28:18 -03:00
Ramiro Morales 421c191049 Update Spanish translation (msg_hash_es.h).
Changes were generated by the following workflow:

1. .h -> .po conversion
2. Translation edit using a tool that supports gettext .po file format.
   e.g. poedit, dedicated modes of Emac, Vim, other editors
3. .po -> .h conversion

Steps 1 and 3 are handled by using WIP tool at

https://github.com/ramiro/RetroArch/blob/manage-i18n-with-gettext-tools/tools/intl.py
2018-05-17 21:09:00 -03:00
twinaphex 3c1c6758c7 Update 2018-05-18 01:38:45 +02:00
Twinaphex a36685d31f Merge pull request #6793 from alfrix/polish
Update Polish (@DEX357)
2018-05-18 01:16:48 +02:00
Alfrix 8014f10da4 Update Polish (DEX357) 2018-05-17 20:10:19 -03:00
twinaphex ce79ff79d2 Cleanups 2018-05-18 01:10:13 +02:00
twinaphex db184a470b Cleanups 2018-05-18 00:51:45 +02:00
twinaphex c9de823e38 (D3D9 HLSL) Start getting rid of old code 2018-05-18 00:46:39 +02:00
twinaphex d457256bda (D3D9 HLSL) More work hooking up the stock shader(D3D9 HLSL) More work
hooking up the stock shader(D3D9 HLSL) More work hooking up the stock
shader(D3D9 HLSL) More work hooking up the stock shader(D3D9 HLSL) More
work hooking up the stock shader(D3D9 HLSL) More work hooking up the
stock shader(D3D9 HLSL) More work hooking up the stock shader(D3D9 HLSL)
More work hooking up the stock shader(D3D9 HLSL) More work hooking up
the stock shader
2018-05-18 00:36:51 +02:00
twinaphex 48b9506299 (HLSL) Implement renderchain_add_pass 2018-05-18 00:27:07 +02:00
twinaphex 076a8a6a97 (D3D9 HLSL) Updates 2018-05-18 00:24:19 +02:00
twinaphex 5a84170efe Simplify d3d9_hlsl_load_program 2018-05-18 00:19:02 +02:00
twinaphex c4a38f24d1 Refactor D3D9 HLSL 2018-05-18 00:17:47 +02:00
twinaphex 991882cbd6 Create d3d9_hlsl_bind_program 2018-05-17 23:25:43 +02:00
twinaphex 8fadef7082 Update d3d9_set_vertex_shader 2018-05-17 23:23:17 +02:00
twinaphex 1d67334323 Expand d3d9_cg_bind_program 2018-05-17 23:20:13 +02:00
twinaphex 9adedbc01a Create d3d9_cg_bind_program 2018-05-17 22:57:16 +02:00
twinaphex eb27d014e8 Cleanups 2018-05-17 22:50:37 +02:00
twinaphex f7b1007995 Move mvp_val to hlsl_renderchain 2018-05-17 22:46:51 +02:00
twinaphex 671be3c372 Cleanup d3d9_cg_load_program 2018-05-17 22:40:46 +02:00
twinaphex c412e2ec97 (Cg renderchain) Refactor vStock/fStock 2018-05-17 22:38:17 +02:00
twinaphex 3b7a1a8a73 Make hlsl_load_program more like Cg version 2018-05-17 22:30:57 +02:00
twinaphex 0df8ca030f Cleanups 2018-05-17 22:22:10 +02:00
twinaphex c67dc034e9 Add vtable/ftable to shader_pass 2018-05-17 22:14:23 +02:00
twinaphex 34c5c84706 Cleanups 2018-05-17 21:43:27 +02:00
twinaphex be9f643edb Get rid of hlsl->dev 2018-05-17 21:26:11 +02:00
twinaphex cabe5c6686 Uncomment d3d9_hlsl_renderchain_set_params for state tracker 2018-05-17 21:11:43 +02:00
twinaphex d946cf1ee5 Create common set vertices function 2018-05-17 21:07:44 +02:00
twinaphex 2011453340 Cleanups 2018-05-17 20:50:32 +02:00
twinaphex 9d6777a87f Rewrite set_shader_params to be nearly identical to Cg renderchain 2018-05-17 20:45:26 +02:00
twinaphex 6c392d3863 Cleanups 2018-05-17 20:31:16 +02:00
twinaphex 70074010e0 Cleanups 2018-05-17 20:15:47 +02:00
twinaphex aec7ce3f4e Update 2018-05-17 20:01:20 +02:00
twinaphex ebc2cc6d5b (HLSL) Cleanup log messages 2018-05-17 19:57:07 +02:00
twinaphex cc1f503f57 (HLSL) Further cleanups 2018-05-17 19:55:08 +02:00
twinaphex 9adc4d4a2f Another cleanup 2018-05-17 19:48:16 +02:00
twinaphex 0de7e7bf46 Cleanups 2018-05-17 19:47:22 +02:00
twinaphex bef7b481c6 Refactor more D3D9 HLSL renderchain code 2018-05-17 19:33:47 +02:00
twinaphex 5bb1b2ef7c Start refactoring HLSL code - constant table parameter setters 2018-05-17 19:26:52 +02:00
twinaphex da53ddc99b Create d3d9_hlsl_get_constant_by_name 2018-05-17 19:13:39 +02:00
twinaphex 18b176c1ea Rename functions 2018-05-17 19:03:13 +02:00
twinaphex 3b7414bc4b (Cg) Some refactors 2018-05-17 18:56:12 +02:00
twinaphex d28aad6372 Rename hlsl_compile_program 2018-05-17 18:46:57 +02:00
Twinaphex 2a0fda0845 Merge pull request #6791 from Dwedit/fix-reset-command
Fix the reset command not closing the menu
2018-05-17 18:41:14 +02:00
Twinaphex 380308d7d0 Merge pull request #6792 from Tatsuya79/patch-1
Disable gl hard sync in menu
2018-05-17 18:40:36 +02:00
twinaphex fe1d3306af Cleanups 2018-05-17 18:20:36 +02:00
twinaphex a9cede28b4 remove some Cg references from log messages 2018-05-17 18:03:18 +02:00
twinaphex 08425d978c Create d3d9_renderchain_destroy_passes_and_luts 2018-05-17 17:59:42 +02:00
twinaphex c022190895 Cleanups 2018-05-17 17:52:44 +02:00
twinaphex 041d51b8d1 Cleanups 2018-05-17 17:50:33 +02:00
twinaphex f8b7104ef2 Move more common code to d3d9_renderchain.h 2018-05-17 17:38:42 +02:00
twinaphex a024da61f4 More code de-duplication 2018-05-17 17:27:56 +02:00
twinaphex e01a028e24 Move add_lut_internal to d3d9_renderchain.h 2018-05-17 17:25:46 +02:00
Tatsuya79 e96463645d Disable gl hard sync in menu 2018-05-17 17:24:10 +02:00
twinaphex c46d84b799 Create d3d9_renderchain_add_lut 2018-05-17 17:23:53 +02:00
twinaphex 6d2b5c8052 Move read_viewport function back to d3d9.c 2018-05-17 17:17:08 +02:00
twinaphex ad3cedfff1 Create d3d9_init_renderchain 2018-05-17 17:15:04 +02:00
twinaphex ea5e4e9ae4 Create struct D3D9Vertex 2018-05-17 17:10:44 +02:00
twinaphex 30b6366158 (d3d9_cg_renderchain.c) Reuse same struct 2018-05-17 17:09:23 +02:00
twinaphex 45f409b022 Start using shader_pass struct 2018-05-17 16:52:12 +02:00
twinaphex d369cde6c6 (Cg renderchain) Cleanups 2018-05-17 16:50:02 +02:00
Dwedit af2f679ff5 Fix the reset command not closing the menu 2018-05-17 09:49:45 -05:00
twinaphex bc59b0345d Start unifying the structs across the two renderchains 2018-05-17 16:42:27 +02:00
twinaphex 517e42c9c7 Pass d3d pointer to set_mvp 2018-05-17 05:46:49 +02:00
twinaphex 8161add9e4 (D3D renderchains) Updates 2018-05-17 05:36:56 +02:00
twinaphex 7afad7a84b Add start/end render 2018-05-17 04:19:35 +02:00
twinaphex fef586b887 Comment out align texels for now 2018-05-17 02:21:40 +02:00
twinaphex 8686c5e037 (HLSL) Use HLSLVertex everywhere in the file 2018-05-17 02:18:57 +02:00
twinaphex 91fc81e76a (D3D9 HLSL) Prevents crash with game frame 2018-05-17 02:17:47 +02:00
twinaphex 62a2af1848 (HLSL) Update set_vertices 2018-05-17 02:16:19 +02:00
twinaphex a999bff175 Cleanups 2018-05-17 02:07:15 +02:00
twinaphex 47551cec84 (HLSL) set_vertices - more work 2018-05-17 02:01:32 +02:00
Twinaphex bc0185c313 Merge pull request #6782 from meepingsnesroms/master
Make 3DS launch cores like a normal system
2018-05-17 01:34:48 +02:00
meepingsnesroms 1bd25a6f12 Fix pointer type 2018-05-16 16:28:32 -07:00
meepingsnesroms ce0d8bb5e0 Remove quote parsing 2018-05-16 16:26:38 -07:00
meepingsnesroms 8617690499 Fix tab where spaces should be 2018-05-16 10:41:25 -07:00
twinaphex 47f3855e1b Cleanups 2018-05-16 16:06:00 +02:00
twinaphex 4b5ea2877e Cleanups 2018-05-16 16:03:22 +02:00
twinaphex efbfe85da4 Cleanups 2018-05-16 15:58:46 +02:00
twinaphex 3aba080434 Integrate HLSL code into d3d9_hlsl_renderchain.c 2018-05-16 15:52:11 +02:00
Twinaphex 1e44b4f9e7 Merge pull request #6784 from Tatsuya79/patch-9
call input_remapping_set_defaults before loading a new remap
2018-05-16 14:53:12 +02:00
Tatsuya79 dd3c9dd838 call input_remapping_set_defaults before loading a new remap 2018-05-16 13:30:57 +02:00
meepingsnesroms 9e51d41fea Fix last null terminator not being added to cia argv 2018-05-15 18:11:47 -07:00
meepingsnesroms 756db4f264 Fix broken path handling when launching a core with a file or with spaces 2018-05-15 11:46:13 -07:00
meepingsnesroms 052de6bcd2 3ds now has proper core launching 2018-05-15 10:30:34 -07:00
twinaphex 2d540264e8 Start hooking up set_shader_mvp function 2018-05-15 06:02:10 +02:00
twinaphex 6afd100d2f (D3D9 HLSL) Add calc_and_set_shader_mvp 2018-05-15 05:53:15 +02:00
twinaphex 52fcdd183a (HLSL) Add more functions 2018-05-14 23:14:26 +02:00
twinaphex 5cba3f0b25 (D3D) Updates 2018-05-14 22:24:02 +02:00
twinaphex 9e63b108ae Cleanups 2018-05-14 22:20:26 +02:00
twinaphex 8361922034 Cleanup 2018-05-14 22:07:07 +02:00
twinaphex c0cd08fa11 Cleanups 2018-05-14 22:01:21 +02:00
twinaphex 4e572d6f87 Simplify calc_and_set_shader_mvp 2018-05-14 21:54:28 +02:00
twinaphex e1368a9209 (Cg D3D9) Buildfix 2018-05-14 21:42:14 +02:00
twinaphex 39f45a17d2 create d3d9_convert_geometry 2018-05-14 21:32:14 +02:00
twinaphex c941b4e922 Update D3D9 HLSL code 2018-05-14 21:26:52 +02:00
twinaphex f37f8a1076 (HLSL renderchain) Refactor code 2018-05-14 21:10:14 +02:00
twinaphex dc61c08006 Cleanups 2018-05-14 20:50:02 +02:00
twinaphex 15f2cde260 (HLSL) Start adding renderchain code 2018-05-14 20:42:28 +02:00
twinaphex 111aeb46b3 Make blit_texture a generic function used by both Cg and HLSL
renderchains
2018-05-14 19:11:45 +02:00
twinaphex c1d949b017 Rename pass_vector_list to cg_pass_vector_list 2018-05-14 18:48:47 +02:00
twinaphex 8a607e72af (D3D9 Cg) Cleanups 2018-05-14 18:46:06 +02:00
twinaphex e646366fd4 Cleanups 2018-05-14 18:42:53 +02:00
twinaphex e8ae1e324f Cleanups 2018-05-14 18:40:36 +02:00
twinaphex 7a9bfa52b0 Add comments 2018-05-14 17:51:50 +02:00
Twinaphex fd4aca1654 Merge pull request #6779 from fr500/overrides
blacklist some settings from overrides
2018-05-14 17:50:15 +02:00
twinaphex e9054159ec Remove set_font_rect callback 2018-05-14 16:57:34 +02:00
radius ecedf8b995 blacklist some settings from overrides 2018-05-13 23:58:55 -05:00
twinaphex bf3122329b (D3D9) Buildfixes 2018-05-14 06:37:01 +02:00
twinaphex 232d3f4d92 Take out add_state_tracker function callback for D3D9 renderchain 2018-05-14 06:33:51 +02:00
Twinaphex dad1e9e52a Merge pull request #6775 from fr500/overrides
WIP: override, presets & remap improvements
2018-05-14 06:23:10 +02:00
twinaphex e5ec7d0fda (Menu) Cut down on some code duplication 2018-05-14 06:18:57 +02:00
radius f81ea09f20 add saving, deletion options for per-dir remaps 2018-05-13 23:17:44 -05:00
radius 0a0365e49a add menu entries 2018-05-13 22:33:06 -05:00
twinaphex 94955eb3b5 (D3D8) Do less casting 2018-05-14 05:14:26 +02:00
twinaphex 2c5112f3ac Cleanups 2018-05-14 05:07:12 +02:00
radius 16c33b4f42 add remap saving, add new variables 2018-05-13 22:05:19 -05:00
radius 908d9b315b overrides: improve 43220c088a a bit 2018-05-13 22:05:18 -05:00
nosh01 9b57b3658d config_load_override() allow override configs to be loaded that match the content parent path name 2018-05-13 22:05:18 -05:00
twinaphex c40c08375c (d3d9_common.h) Cleanups 2018-05-14 05:04:45 +02:00
twinaphex cbe4c78979 (D3D8/D3D9) Cleanups 2018-05-14 04:55:33 +02:00
twinaphex 606d700bf2 No more D3D8/D3D9 header includes in d3d_common.c 2018-05-14 04:36:08 +02:00
twinaphex 8733a41e58 (d3d_common.c) Get rid of these header includes 2018-05-14 04:00:27 +02:00
twinaphex 6a9b39da3f Get rid of d3d.h and xdk_defines.h 2018-05-14 03:57:27 +02:00
twinaphex 5fe6c74b51 Remove this 2018-05-14 03:47:13 +02:00
twinaphex d1c1e4e2aa Move D3D9_DECL_FVF_TEXCOORD to d3d9_common.h 2018-05-14 03:17:26 +02:00
twinaphex 86c7e7c69f (D3D9) Uniquely name 'Pass' for cg renderchain; some more work on HLSL 2018-05-14 03:12:09 +02:00
twinaphex 1de6bf550b (D3D renderchains) Cleanups/unifications 2018-05-14 03:06:19 +02:00
twinaphex 8beed4c1ec (360) Buildfix 2018-05-14 01:50:58 +02:00
twinaphex 1a55d4309c Fix --disable-cheevos 2018-05-14 01:44:08 +02:00
twinaphex 7617e3efd2 Fix Coverity error - forgot a break 2018-05-14 01:38:24 +02:00
Twinaphex 155c48d7fe Update CHANGES.md 2018-05-14 01:14:28 +02:00
twinaphex 2dae506e88 (MSVC2003) Buildfix 2018-05-14 01:11:47 +02:00
Twinaphex 64e9cb1f5e Update CHANGES.md 2018-05-14 01:09:06 +02:00
Twinaphex b8233c15ae Merge pull request #6776 from altiereslima/master
Update Portuguese Brazilian translation.
2018-05-14 01:07:33 +02:00
twinaphex aea89bfde3 Cleanups 2018-05-14 00:37:03 +02:00
twinaphex 34eb78ad78 Silence some warnings 2018-05-14 00:35:01 +02:00
twinaphex 8a78b69689 Buildfix 2018-05-14 00:31:58 +02:00
twinaphex 45cd860835 Cleanup variables never used 2018-05-14 00:30:30 +02:00
twinaphex 2fdd4444ff Get rid of unintentional typedef redefinition (C11 feature) 2018-05-14 00:29:20 +02:00
Twinaphex d0a697ebf0 (MacOS) Another buildfix 2018-05-14 00:23:05 +02:00
Twinaphex f3f0c6b1d1 One buildfix 2018-05-14 00:21:08 +02:00
twinaphex 599937cc4f Make separate xcodeproj 2018-05-14 00:17:17 +02:00
altiereslima 693d12a67a Update Portuguese Brazilian translation. 2018-05-13 19:15:00 -03:00
Twinaphex 0174e45026 Merge pull request #6667 from fr500/master
cheevos fixes and additions
2018-05-13 21:48:29 +02:00
twinaphex 96e1b862f6 (Vulkan) Update headers - use C comments 2018-05-13 21:42:02 +02:00
twinaphex 7a88fafdb0 Cleanup 2018-05-13 21:36:57 +02:00
Stuart Carnie 789933b333 wip: add Vulkan support to Apple platforms 2018-05-13 21:35:23 +02:00
Stuart Carnie 0a4ff225be Update Vulkan 2018-05-13 21:35:18 +02:00
Twinaphex 0d7d844462 Merge pull request #6774 from sergiou87/fix-keyboard-mapping
Fix the way offsets are calculated for keyboard remapping
2018-05-13 21:32:40 +02:00
radius b25a2b49c4 move pause entry to achievements menu 2018-05-13 14:26:38 -05:00
radius f3c29b43eb disable cheevos_hardcore_paused on contant load 2018-05-13 13:40:30 -05:00
radius aa86d78183 add quick menu action to pause / resume hardcore mode for current session 2018-05-13 13:40:30 -05:00
radius 1037093d45 cleanup cheevos hardcore conditions 2018-05-13 13:40:30 -05:00
radius 7216726664 add cheevos_hardcore_active, cleanup whitespaces 2018-05-13 13:40:29 -05:00
radius 504317ac7e cheevos fixes, reenable menu entries if cheevos are disabled on the fly 2018-05-13 13:40:29 -05:00
twinaphex 605d88751f (HLSL) Remove XBOX ifdef 2018-05-13 19:35:20 +02:00
twinaphex 64f2efe567 Cleanups 2018-05-13 19:03:09 +02:00
twinaphex bcedf74fe4 (D3D renderchains) Cleanups 2018-05-13 18:59:57 +02:00
twinaphex 380fa6fd5e Updates 2018-05-13 18:51:05 +02:00
twinaphex 85da5360d2 (D3D9) Update 2018-05-13 18:47:24 +02:00
twinaphex 34149e510e (D3D9) Cleanups 2018-05-13 18:36:17 +02:00
twinaphex 33d2c2d422 (D3D9) Cleanups 2018-05-13 18:33:16 +02:00
twinaphex 46f23f9fbd Get rid of d3d_video_viewport 2018-05-13 18:24:19 +02:00
twinaphex 53446cc0c8 (D3D9 renderchains) Cleanups 2018-05-13 18:11:48 +02:00
twinaphex c6cc2c930c Create d3d9_log_info 2018-05-13 18:01:09 +02:00
twinaphex 8ecfd367ff Backport shader log info 2018-05-13 17:57:48 +02:00
Steven M. Vascellaro 5ff7cc6a4c Comment out background color settings 2018-05-13 11:54:22 -04:00
twinaphex 770b39e769 (HLSL) Buildfixes 2018-05-13 17:28:40 +02:00
twinaphex 3d7eaee7c9 (menu display driver) Cleanups to bind_texture 2018-05-13 14:43:40 +02:00
twinaphex 659d8a4ec6 (GL) Cleanups 2018-05-13 14:34:41 +02:00
twinaphex 5bde17025a Move min_filter_to_mag to gl_common.h 2018-05-13 14:24:49 +02:00
twinaphex c88a7545a3 (menu display drivers) Cleanups 2018-05-13 14:15:04 +02:00
Sergio Padrino Recio 35b709768d Fix the way offsets are calculated for keyboard remapping 2018-05-13 13:34:36 +02:00
twinaphex 08820b5245 Cleanup gl_update_input_size 2018-05-13 06:43:24 +02:00
twinaphex 1f944afff7 (GL) Cleanups 2018-05-13 06:34:15 +02:00
twinaphex 999f1db694 Cleanup 2018-05-13 06:30:13 +02:00
twinaphex 41295ef7b9 Remove viewport_info callback from D3D9 renderchain interface 2018-05-13 06:29:17 +02:00
twinaphex 27170674a5 (D3D9) Cleanups 2018-05-13 06:22:12 +02:00
twinaphex dee50349ba Rename d3d_renderchain_driver to d3d9_renderchain_driver 2018-05-13 06:03:26 +02:00
twinaphex 494ddb16d9 Get rid of viewport_info callback function - was the same for both
GL1 and GL2 renderchains
2018-05-13 05:56:44 +02:00
twinaphex 6996e72b49 Move renderchain driver interface to gl_common.h - and replace
some void pointers in function callbacks with gl_t
2018-05-13 05:53:35 +02:00
Twinaphex 3773482883 Update CHANGES.md 2018-05-13 05:29:56 +02:00
Twinaphex 5e7ea8de19 Merge pull request #6772 from Dwedit/env-hook-fix
Fix full-screen mode change breaking Secondary Core's environment variables
2018-05-13 05:29:28 +02:00
Dwedit a03ccae2ae fix error 2018-05-12 22:19:42 -05:00
Dwedit 432b320775 Fix full-screen mode change breaking Secondary Core's environment variables
* RunAhead: Remove Environment Hook from primary core
* Modify core option manager to trigger setting the secondary core's dirty environment flag
* RunAhead: Make secondary core's hook support that change, so it can turn off the dirty environment flag after reading a setting.
2018-05-12 22:11:49 -05:00
twinaphex 7c90933e3a (GL1 renderchain) Updates 2018-05-13 02:44:54 +02:00
twinaphex 1763b8ad55 (GL1 renderchain) Get rid of bind_prev_texture 2018-05-13 02:41:31 +02:00
twinaphex ad2290df43 Update gl1_renderchain.c 2018-05-13 02:33:15 +02:00
twinaphex be502a39fd Cleanups 2018-05-12 19:24:04 +02:00
twinaphex 58ac7c320e (dxgi_common.c) Add more __WINRT__ ifdefs 2018-05-12 19:22:37 +02:00
twinaphex cc5393e54d (WinRT) Add more WINRT ifdefs 2018-05-12 19:17:23 +02:00
twinaphex bf76005618 (WinRT) Add more __WINRT__ ifdefs 2018-05-12 19:14:49 +02:00
twinaphex 542294900f (WinRT) More compilation fixes 2018-05-12 19:03:39 +02:00
twinaphex 75aea82256 Squashed 'libretro-common/' changes from 71b08aa6b3..705d72b4a3
705d72b4a3 Merge pull request #74 from markwkidd/patch-1
3a06bdd07a update description of the "save" directory

git-subtree-dir: libretro-common
git-subtree-split: 705d72b4a30f8096118df443246c6e5c9e1f7e99
2018-05-12 18:07:47 +02:00
twinaphex 04a4578435 Merge commit '75aea8225637bb47e44543ed624f5861cb27c204' 2018-05-12 18:07:47 +02:00
twinaphex 6ff58826d8 Squashed 'libretro-common/' changes from b1f9a44ebb..71b08aa6b3
71b08aa6b3 Add missing files

git-subtree-dir: libretro-common
git-subtree-split: 71b08aa6b3660e21afd8024a1da4d5a9c844e1e4
2018-05-12 18:05:31 +02:00
twinaphex dd7ac99f27 Merge commit '6ff58826d8725e4e8788c22706de8b25cc89a4c2' 2018-05-12 18:05:31 +02:00
twinaphex 9d5472cecf Merge commit '37aad93a58efba6c340e13aa1d83ddf2df762b3d' 2018-05-12 18:03:49 +02:00
twinaphex 37aad93a58 Squashed 'libretro-common/' changes from 377cef30fa..b1f9a44ebb
b1f9a44ebb Add missing headers

git-subtree-dir: libretro-common
git-subtree-split: b1f9a44ebbf488debc0f5ef2c817d9c4f72f7153
2018-05-12 18:03:48 +02:00
twinaphex 768ebbfdb5 Merge commit 'ce9ce1d35387ef8144e53bf071396fa075bfb6c5' as 'libretro-common' 2018-05-12 17:56:34 +02:00
twinaphex ce9ce1d353 Squashed 'libretro-common/' content from commit 377cef30fa
git-subtree-dir: libretro-common
git-subtree-split: 377cef30faf410724141b280665db1b6b82cbc7b
2018-05-12 17:56:33 +02:00
twinaphex 0548349991 Remove libretro-common 2018-05-12 17:56:14 +02:00
Twinaphex ed2ed873b8 Update CHANGES.md 2018-05-12 16:29:07 +02:00
Twinaphex f658bea4cd Merge pull request #6768 from theheroGAC/patch-31
Update msg_hash_it.h
2018-05-12 01:59:58 +02:00
Steven M. Vascellaro ae47b1f505 Revert "Fix variable names for 'video_msg'"
This reverts commit 5061bc5a65.
2018-05-11 19:55:07 -04:00
alphanu1 7da1813554 Merge pull request #67 from alphanu1/alphanu1-patch-64
fix
2018-05-11 22:22:24 +01:00
alphanu1 dcc87f4557 fix 2018-05-11 22:21:52 +01:00
theheroGAC f22cc9f2dd Update msg_hash_it.h 2018-05-11 13:28:31 +02:00
Twinaphex 5abdf50c04 Update CHANGES.md 2018-05-11 04:24:44 +02:00
Twinaphex b0aab23fd1 Merge pull request #6719 from Brunnis/autohide-configuration-override-options
Automatically hide "Configuration Override options" in Quick Menu
2018-05-11 04:14:21 +02:00
Twinaphex d2e1698426 Merge pull request #6765 from SuperrSonic/master
(GX) Changes to gx_gfx
2018-05-11 01:43:52 +02:00
Diego A 3b738e0b2d Always enable vfilter, enable deflicker setting in progressive scan, fix vsync set to off 2018-05-10 18:44:22 -04:00
Twinaphex c3c50bae29 Merge pull request #6760 from altiereslima/master
Update Portuguese Brazilian translation
2018-05-10 20:23:17 +02:00
Twinaphex cf5d42dbfe Merge pull request #6761 from rsn8887/master
(Vita/PSP) Use proper button labels, fix inverted R-Stick Y axis
2018-05-10 06:41:04 +02:00
rsn8887 6d5115a50d (Vita/PSP) Use proper button labels, fix inverted R-Stick Y axis 2018-05-09 22:55:33 -05:00
altiereslima 5378e5d525 Update Portuguese Brazilian translation 2018-05-09 23:32:25 -03:00
Twinaphex b5118391a9 Merge pull request #6758 from Dwedit/win32-unify-file-open
Win32: Unify file open code between Menus and Drag Drop, and fix it too
2018-05-10 04:18:54 +02:00
Dwedit ca00d93aac Edit the Japanese resource file too 2018-05-09 21:10:11 -05:00
Dwedit 387d4d87eb Fix core selection appearing unnecessarily
Re-order the dialog items in core selection dialog to make the listbox have focus
Removed the "do wm close" stuff.
2018-05-09 21:04:23 -05:00
Dwedit f3f0d4f787 Unify File Open and File Drag Drop code
* Code in `win32_drag_query_file` was split off into `win32_load_content_from_gui`
* File Open dialog now uses the same code as drag drop instead of the non-working code that was in there before.
* File Dialog and Core Select Dialog show and hide mouse cursor if they were invoked in fullscreen mode
2018-05-09 21:04:23 -05:00
meepingsnesroms 1a6f572405 Fixes 2018-05-09 18:23:35 -07:00
alphanu1 06d411d6e7 Update dispserv_x11.c 2018-05-10 01:56:39 +01:00
Twinaphex 72a77884fa Merge pull request #6756 from Dwedit/runahead-messages
Runahead error messages
2018-05-10 02:43:24 +02:00
Twinaphex 36b9fd94ba Merge pull request #6757 from Dwedit/additional-null-check
Additional null checks in video_driver.c
2018-05-10 02:43:03 +02:00
Dwedit bafb23edc3 Additional null check in video_driver.c
I have managed to trigger a null pointer exception on one of these two functions, so for safety, I added in null checks for the structs and function pointers.
2018-05-09 19:25:33 -05:00
Dwedit 6154a843e0 Runahead error messages
* Add error messages for: Core not having savestates, load/save state failure, secondary core create failure
* Added messages for us locale, can be localized elsewhere
* Add a configuration setting to hide the initial warning message for core not having savestates
* Small code changes and cleanup for secondary core
* Fixed typo "destory" in dirty input code
2018-05-09 19:08:16 -05:00
meepingsnesroms 5f234f0dd1 Start using proper 3ds executable formats (doesnt work properly yet) 2018-05-09 15:55:48 -07:00
Twinaphex 911072fb69 Merge pull request #6755 from Dwedit/small_bugfix
Small Bugfix to not trigger savestate code
2018-05-10 00:52:46 +02:00
Dwedit f94c736945 Small Bugfix, do not have Reset command trigger savestate code 2018-05-09 17:42:30 -05:00
twinaphex 46f7742afc Some early WinRT commits 2018-05-09 16:13:29 +02:00
gblues c161813f10 fix so object files are in expected location 2018-05-08 20:43:37 -07:00
gblues 171e222ebe Add "compile" make target
== DETAILS

As part of the build system overhaul, I need to be able to compile
without linking; this adds a "compile" target so that I can do that.

Currently only implemented on the main Makefile and Wii U.
2018-05-08 20:03:13 -07:00
alphanu1 61f445b159 Merge pull request #66 from alphanu1/alphanu1-patch-63
changes to switching method
2018-05-08 15:17:30 +01:00
alphanu1 b89b08d1ff changes to switching method
Added HDMI switching when CRT active, this slowed switching down. So there is also a new method to switch
2018-05-08 15:16:08 +01:00
alphanu1 e9739c2b14 Merge pull request #65 from alphanu1/alphanu1-patch-62
added swap_interval change for CRT
2018-05-08 15:14:31 +01:00
alphanu1 1bd74718ee added swap_interval change for CRT
Change for interlaced resolution when CRT active
2018-05-08 15:13:37 +01:00
alphanu1 90839289c4 Merge pull request #64 from libretro/master
update
2018-05-08 10:33:40 +01:00
Twinaphex 53140172ab Update CHANGES.md 2018-05-08 01:48:34 +02:00
Twinaphex a9e7bd9ee1 Merge pull request #6737 from gblues/master
Implement UDP broadcast network logging on Wii U
2018-05-08 01:47:04 +02:00
twinaphex 41d2ebf8b5 Apparently not available 2018-05-08 00:16:20 +02:00
twinaphex 2c409c606e (Winphone) should be _DISCARD 2018-05-07 23:19:42 +02:00
twinaphex 244f167dd5 (D3D11) Start adding D3D feature level 9 and Windows Phone ifdefs 2018-05-07 23:18:59 +02:00
Brad Parker 03e0510fc4 Qt: use guarded pointer for adding grid items to layout, in case playlist is changed (and hence the items get deleted) before they are all added 2018-05-07 14:29:54 -04:00
twinaphex 70bbe0bdb1 Update CHANGES.md 2018-05-07 17:56:48 +02:00
twinaphex c79950d707 (PS3) Add HAVE_DR_FLAC
(Dr. Flac) Fix some warnings with PS3 compiler
2018-05-07 17:52:53 +02:00
twinaphex 4f549bc55c (cheevos) Silence PS3 warnings
(PS3) Add HAVE_DR_MP3
2018-05-07 17:45:43 +02:00
twinaphex fb141343c3 (NSW) Add RARCH_INTERNAL 2018-05-07 17:41:53 +02:00
twinaphex 2cfa05fbbb (RGUI) Expose hex options for colors 2018-05-07 16:11:38 +02:00
twinaphex 1e42e8f58c (Qt) Add translatable string for 'Clear' 2018-05-07 15:37:54 +02:00
twinaphex b2361987b7 Make 'Current Core' string translatable 2018-05-07 15:27:56 +02:00
twinaphex 648be7e181 (menu_displaylist.c) Cleanups 2018-05-07 15:23:38 +02:00
twinaphex 555ffba328 menu_displaylist_parse_settings_internal - cleanup 2018-05-07 15:16:56 +02:00
twinaphex 3c73183a04 Cleanups - fix warnings 2018-05-07 15:05:59 +02:00
twinaphex 3753ff15fd (NSW) Add header include dir for dr_mp3 2018-05-07 14:50:00 +02:00
twinaphex 8af8db59e0 (Menu displaylist) Cleanups 2018-05-07 14:48:13 +02:00
twinaphex 45b841274a menu_displaylist_ctl - cleanups 2018-05-07 13:47:08 +02:00
Brad Parker 649216c700 Qt: add view menu option to change between icon/list views 2018-05-07 02:36:00 -04:00
Brad Parker faf52937c5 Qt: buildfix 2018-05-07 00:07:12 -04:00
gblues 5b3dd70ac3 Use a different packet size
== DETAILS

We had some disagreement on what packet size to use.

The maximum packet size varies depending on the actual network
hardware in use; the typical Ethernet value is relatively safe,
but not 100% compatible.

RFC 791 does, however, define a minimum datagram size that all
IP hosts must be able to handle--and it's large enough for our
needs, since we're generally not writing more than maybe 100
bytes at a time anyway.

I also did a little bit of cleanup for readability.
2018-05-06 19:08:32 -07:00
Brad Parker 2a784ae1bc Qt: remove mutex, defer loading of grid items into layout, use guarded pointers for exec() operations, misc cleanup 2018-05-06 20:50:54 -04:00
twinaphex 3cf12dbbf8 DRIVER_DATA_GET calls nearly gone from menu_displaylist.c 2018-05-07 02:46:40 +02:00
twinaphex b647f6e019 Cleanups 2018-05-07 02:44:03 +02:00
twinaphex 7928c3b098 Cleanups 2018-05-07 02:40:47 +02:00
twinaphex 698999f129 (menu_displaylist.c) Cleanups 2018-05-07 02:35:40 +02:00
twinaphex d3c2393daf Cleanups 2018-05-07 02:33:21 +02:00
twinaphex 0384ed4535 Cleanups 2018-05-07 02:25:19 +02:00
twinaphex 96b0edf962 (menu_displaylist.c) Cleanups 2018-05-07 02:20:19 +02:00
twinaphex 886170f505 Cleanups 2018-05-07 02:14:41 +02:00
twinaphex 05c272afd6 (menu_displaylist.c) Cleanups 2018-05-07 02:10:03 +02:00
twinaphex fd76c3b8b1 Change back to previous behavior 2018-05-07 01:29:21 +02:00
gblues 23f0a85446 Implement UDP broadcast network logging on Wii U
== DETAILS

The broadcast address is a standard part of TCP/IP that is used to
send messages to everyone on the subnet. This patch updates the
logging code to do the following:

1. Derive the broadcast address from the Wii U's own IP address
   and subnet mask. These can all be obtained at runtime, which
   means we can...
2. Remove the PC_DEVELOPMENT_IP_ADDRESS define from Wii U's
   Makefile, because compiling in an IP is no longer needed.
3. Rewrite the net_listen script to listen for broadcast packets
   and print them out with timestamps.

Since it's using the broadcast address, the only requirement is
that the PC be on the same network subnet as the Wii U.

Because of the low overhead of UDP, I've made logging on by
default. This will make it a ton easier to get useful bug
reports from users.
2018-05-06 14:39:48 -07:00
Twinaphex ac0b2799c5 Merge pull request #6735 from gblues/master
Fix Salamander build
2018-05-06 19:38:25 +02:00
gblues 58e298ab8d Fix Salamander build
- move non-salamander objects out of salamander scope
- move the missing libc functions to general scope
- fix salamander_main inline invocation

TESTING: Ran 'make -f Makefile.wiiu SALAMANDER=1' successfully
2018-05-06 10:01:20 -07:00
twinaphex e18f81eb74 Update libretro-common 2018-05-06 17:11:18 +02:00
Twinaphex 72fa691c81 Merge pull request #6733 from Tatsuya79/patch-8
QT remove button ghostly inside highlighting
2018-05-06 17:06:53 +02:00
Tatsuya79 425da219c6 QT remove button ghostly inside highlighting 2018-05-06 17:05:21 +02:00
Twinaphex 8484ea4154 Merge pull request #6672 from gblues/master
Cleanup of Wii U launcher code
2018-05-06 15:24:00 +02:00
Twinaphex 0f87a06a67 Merge pull request #6730 from QuarkTheAwesome/gx2-patch1
[WiiU] Fix out-of-bounds rendering bug
2018-05-06 13:40:22 +02:00
Ash 68d789a4ea [WiiU] Fix out-of-bounds rendering bug 2018-05-06 21:18:03 +10:00
Brad Parker de71a4dee7 Qt: general performance improvements, fix crash on switching playlists quickly in grid view, prevent initial loading of grid items from blocking 2018-05-06 01:36:47 -04:00
Brad Parker d55b1a0ad4 Qt: only check for pending events of the main thread 2018-05-05 23:17:30 -04:00
Brad Parker c2ad8d47d3 Qt: only check for pending events of the main thread 2018-05-05 22:57:29 -04:00
Twinaphex ec8f40c833 Merge pull request #6727 from ceb33/master
fix to set hid device registration deterministic (#6497), to address issue #6640 re-adding dynamic device registration
2018-05-05 23:15:12 +02:00
Brad Parker 8e7e530747 Qt: fix crash on switching playlists quickly 2018-05-05 17:02:03 -04:00
ceb33 bafd2af885 remove custom debug output 2018-05-05 13:33:15 +02:00
ceb33 67784c85cf update and merge to current Retroarch version 2018-05-05 12:59:04 +02:00
ceb33 9008684651 re-add callback to manage usb device plugged in while retroarch is running 2018-05-05 12:48:01 +02:00
Twinaphex 2771f8cc41 Update CHANGES.md 2018-05-04 22:51:47 +02:00
Twinaphex a371a2f835 Merge pull request #6717 from altiereslima/master
Update Portuguese Brazilian translation
2018-05-04 22:38:51 +02:00
Twinaphex 9e0a3f0794 Merge pull request #6720 from Tatsuya79/patch-7
QT QSlider styling
2018-05-04 22:38:42 +02:00
twinaphex 9462e5aa93 Don't hide these settings behind advanced settings 2018-05-04 19:08:10 +02:00
Brad Parker a082ea7d76 Qt: remove zoom layout margins 2018-05-04 12:05:53 -04:00
twinaphex 91744d9dd0 Bump up version code 2018-05-04 16:27:14 +02:00
Tatsuya79 658ffb8951 QT QSlider styling 2018-05-04 12:11:53 +02:00
Mikael Brunnhede 1bc304b26e Automatically hide the "Configuration Override options" Quick Menu entry if neither of the sub-options are enabled. 2018-05-04 10:18:22 +02:00
altiereslima b03a943dd9 fix translation 2018-05-04 01:32:36 -03:00
altiereslima e8a0e78d9e Update Portuguese Brazilian translation 2018-05-04 01:21:31 -03:00
Brad Parker fc3251b6a9 Qt: use non-linear scale for zoom slider 2018-05-03 23:58:15 -04:00
Brad Parker e372bb5320 Qt: cut maximum zoom slider value in half 2018-05-03 22:10:45 -04:00
Brad Parker 0f2262f065 Qt: fix thumbnail image loading 2018-05-03 22:05:12 -04:00
Brad Parker 6cab8cf139 Qt: fix some grid images not drawing properly 2018-05-03 22:05:12 -04:00
Brad Parker c10e65e99e Qt: support image playlist in grid layout 2018-05-03 22:05:12 -04:00
Brad Parker c42ad9fbb9 Qt: respect current zoom level when changing playlists 2018-05-03 22:05:12 -04:00
Brad Parker 758d484874 Qt: use primary screen size divided by 8 for grid item size 2018-05-03 22:05:12 -04:00
Brad Parker 5fa0d75bd7 adjust zoom factors 2018-05-03 22:05:12 -04:00
Brad Parker 8752996018 Qt: add grid zoom slider 2018-05-03 22:05:12 -04:00
Brad Parker f79ba4885a Qt: threaded grid image loading 2018-05-03 22:05:12 -04:00
Brad Parker 5f7abb068b Qt: initial grid layout work 2018-05-03 22:05:12 -04:00
gblues 84e9c93c35 quotes for some, braces for others 2018-05-02 22:37:34 -07:00
gblues 27bfcf3c77 Replace angle includes with quote includes
=== DETAILS

Replaced includes for things that aren't standard library headers so
they use quotes instead of brackets.

Also fixed up a couple of headers that had include-order dependencies.
2018-05-02 21:31:00 -07:00
gblues 7448fd3157 More code re-organization
=== DETAILS
Since @aliaspider wants the `wiiu/` to be something of a mini-SDK, I've
reorganized the code I put in there:

- `wiiu/main.c` now only has the ELF/RPX entrypoints, and the code used
  by those entrypoints, with RA code removed (e.g. swapped retro_sleep()
  for usleep()). These entrypoints then call main() ...
- Moved `main()` and its support functions back into `frontend/drivers/platform_wiiu.c`
  I also renamed some of the support functions I wrote, and better
  organized them within the code.
- Moved `wiiu/input/` into the `input/` hierarchy:

  * The joypad drivers now live in `input/drivers_joypad/wiiu/`
  * The HID driver now lives in `input/drivers_hid/`
  * The Wii U specific headers now live in `input/include/wiiu`
  * I added `input/include` into the include search path to avoid
    using really ugly relative includes
2018-05-01 23:23:40 -07:00
gblues 04cefd27d1 Cleanup of Wii U launcher code
== DETAILS

The Wii U main entrypoints were embedded in the frontend driver,
which isn't a great place for them. Also, the `main()` method was
pretty long and monolithic. Now it's (much) less so.

Changes:

- Refactor out the main entrypoints into their own source files
  (`wiiu/main.c` and `wiiu/main.h`)
- Optimize includes in both files, so only the minimum needed to
  compile are included.
- The `main()` method is a lot easier to understand now. It's no longer
a confusing mess of ifdefs.
- There's a small amount of changes in the headers for future work, which
  is switching kpad_driver to be callback-driven. The only change here is
  to import the function that will be used, and define some data types.

Testing:
- Did local builds and confirmed build is successful
- Successfully loaded a core and switched among a few games
2018-04-30 21:56:06 -07:00
Steven M. Vascellaro 5061bc5a65 Fix variable names for 'video_msg'
A few variables for video message color/position were using the wrong variable name

https://github.com/libretro/RetroArch/blob/master/configuration.h#L274-L279
2018-04-23 09:32:46 -04:00
Steven M. Vascellaro bc2cf0e215 Update list of joypad drivers 2018-04-14 18:16:33 -04:00
Steven M. Vascellaro cb21f3f33f retroarch.cfg: Add fps_show and framecount_show 2018-04-14 18:12:51 -04:00
Steven M. Vascellaro 559be4cff2 retroarch.cfg: Move/reorder Video settings 2018-04-14 18:12:27 -04:00
Steven Vascellaro f9db4b9839 retroarch.cfg: Update menu_driver options 2018-04-14 17:51:04 -04:00
Steven M. Vascellaro e39da99b87 retroarch.cfg: Add more driver settings
Adds driver settings for `camera_driver`, `location_driver`, and `record_driver`.
2018-04-14 17:37:02 -04:00
Steven M. Vascellaro bdf5a0c22b retroarch.cfg: Add section for directory settings
- Adds a section for directory/path settings
- Adds settings for `recording_output_directory` and `recording_config_directory`

All settings in `directory` section are accessible from RGUI
2018-04-14 16:53:32 -04:00
Steven M. Vascellaro 7a18305ed2 retroarch.cfg: Add section for driver settings
Moves driver related settings to a new "driver" section.

With the exception of `video_context_driver`, all of these settings can be found in RGUI under "driver".
2018-04-14 15:33:58 -04:00
Jean-André Santoni 617793df40 [stripes] Better tab colors 2018-04-11 21:17:37 +07:00
Jean-André Santoni 3a1e954284 [stripe] Fix icon sizes 2018-04-08 21:55:11 +07:00
Jean-André Santoni 1189d84543 [stripes] Implement draw_bg 2018-04-08 21:48:55 +07:00
Jean-André Santoni 4af704babe [stripe] Use scale_factor to look nice of different screens 2018-04-08 20:55:53 +07:00
Jean-André Santoni cef8477215 [stripes] Rainbow colors 2018-04-08 20:47:49 +07:00
Jean-André Santoni 2ef3824554 [stripe] Draw the stripes 2018-04-08 18:58:57 +07:00
Jean-André Santoni a6e9107bd0 Add menu_display_draw_polygon 2018-04-08 18:58:11 +07:00
Jean-André Santoni f2e71615fb [stripes] Remove useless thumbnail stuff 2018-04-08 15:42:26 +07:00
Jean-André Santoni 3f32a7f1b7 [stripes] Remove useless ribbon stuff 2018-04-08 15:37:29 +07:00
Jean-André Santoni 34966e2ffc [stripes] Compute and animate category width 2018-04-08 15:22:32 +07:00
Jean-André Santoni d1695c043c [stripes] Compute categories y position 2018-04-08 13:38:51 +07:00
Jean-André Santoni 65626c188a [stripes] Remove most of draw_frame 2018-04-08 13:31:19 +07:00
Jean-André Santoni 7a7cb730c5 [stripes] Remove pipeline 2018-04-08 13:26:20 +07:00
Jean-André Santoni 5a22d1cd8e [stripes] Comment out draw_items for now 2018-04-08 13:21:33 +07:00
Jean-André Santoni 061fe25c33 [stripes] Compute y position for the tabs icons 2018-04-08 13:16:01 +07:00
Jean-André Santoni 7601b740cc [stripes] Remove ribbon 2018-04-08 10:49:02 +07:00
Jean-André Santoni fcda6f7d96 [stripes] Remove gradients 2018-04-08 10:01:14 +07:00
Jean-André Santoni 1614519874 Clone xmb to stripe menu 2018-04-08 09:55:16 +07:00
5250 changed files with 873113 additions and 220683 deletions

No files matched your search

+31 -2
View File
@@ -11,6 +11,8 @@
.tmp
.tmp.c
.tmp.cxx
.moc.h
.moc.cpp
config.log
/.project
/.externalToolBuilders/
@@ -53,7 +55,6 @@ DerivedData
apple/tmp
apple/*.mobileprovision
apple/RetroArch_iOS.xcodeproj/project.xcworkspace/*
menu/driverspzarch.c
/Cg/
/GL/
/SDL/
@@ -68,6 +69,13 @@ menu/driverspzarch.c
.pc
/media/shaders_glsl/
/obj-w32/
.cproject
.settings
libretro-super
run.sh
convert_rumble.awk
*~
assets
# Wii U
*.depend
@@ -113,7 +121,9 @@ wiiu/wut/elf2rpl/elf2rpl
/media/libretrodb/
pkg/apple/iOS/build/
pkg/apple/iOS/modules/
pkg/apple/build/
ui/drivers/qt/moc_*
ui/drivers/moc_*
obj-unix/
.vagrant/
@@ -145,3 +155,22 @@ retroarch.js.mem
# only ignore .js files in the repo root
/*.js
# Switch
*.d
exefs/*
retroarch_switch.pfs0
retroarch_switch.lst
retroarch_switch.nacp
retroarch_switch.nro
retroarch_switch.nso
# Wayland
gfx/common/wayland/idle-inhibit-unstable-v1.c
gfx/common/wayland/idle-inhibit-unstable-v1.h
gfx/common/wayland/xdg-shell-unstable-v6.c
gfx/common/wayland/xdg-shell-unstable-v6.h
gfx/common/wayland/xdg-decoration-unstable-v1.h
gfx/common/wayland/xdg-decoration-unstable-v1.c
gfx/common/wayland/xdg-shell.c
gfx/common/wayland/xdg-shell.h
+16
View File
@@ -5,7 +5,23 @@
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<triggers>clean,full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.core.ccnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
</natures>
</projectDescription>
+34 -22
View File
@@ -10,7 +10,9 @@ matrix:
- g++-mingw-w64-i686
- mingw-w64-i686-dev
script:
- CROSS_COMPILE=i686-w64-mingw32- CFLAGS="-D_WIN32_WINNT=0x0501" ./configure --disable-d3d8 --disable-d3d9 --disable-d3d10 --disable-d3d11 --disable-d3d12 && make HAVE_ZLIB=1 HAVE_BUILTINZLIB=1 HAVE_RPNG=1
- ./configure --disable-d3d8 --disable-d3d9 --disable-d3d10 --disable-d3d11 --disable-d3d12 --enable-builtinzlib
- make
env: CROSS_COMPILE=i686-w64-mingw32- CFLAGS="-D_WIN32_WINNT=0x0501"
- compiler: mingw-x64
addons:
apt:
@@ -18,22 +20,35 @@ matrix:
- g++-mingw-w64-x86-64
- mingw-w64-x86-64-dev
script:
- CROSS_COMPILE=x86_64-w64-mingw32- CFLAGS="-D_WIN32_WINNT=0x0501" ./configure --disable-d3d8 --disable-d3d9 --disable-d3d10 --disable-d3d11 --disable-d3d12 && make HAVE_ZLIB=1 HAVE_BUILTINZLIB=1 HAVE_RPNG=1
- ./configure --disable-d3d8 --disable-d3d9 --disable-d3d10 --disable-d3d11 --disable-d3d12 --enable-builtinzlib
- make
env: CROSS_COMPILE=x86_64-w64-mingw32- CFLAGS="-D_WIN32_WINNT=0x0501"
- compiler: gcc
# Install a more recent gcc than the default
before_install:
- sudo apt-get install -y g++-8
env: CC=gcc-8 CXX=g++-8
- compiler: clang
addons:
# Install a more recent clang than the default
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.8
packages:
- clang-3.8
env: COMPILER_NAME=clang-3.8 CXX=clang++-3.8 CC=clang-3.8
# Install a more recent clang than the default
before_install:
- sudo apt-get install -y libstdc++-7-dev
- sudo apt-get install -y clang-6.0
env: CC=clang-6.0 CXX=clang++-6.0
- os: osx
osx_image: xcode7.3
osx_image: xcode8
script:
- xcodebuild -target RetroArch -configuration Release -project pkg/apple/RetroArch.xcodeproj
- xcodebuild -target RetroArch -configuration Release -project pkg/apple/RetroArch.xcodeproj
- os: osx
osx_image: xcode10.1
script:
- brew install --force-bottle qt5
- xcodebuild -target RetroArchQt -configuration Release -project pkg/apple/RetroArch_Metal.xcodeproj
deploy:
skip_cleanup: true
provider: script
script: bash travis_metal_deploy.sh
on:
branch: master
script:
- ./configure
@@ -46,16 +61,13 @@ env:
addons:
apt:
packages:
- curl
- pkg-config
- libglu1-mesa-dev
- freeglut3-dev
- mesa-common-dev
- libsdl1.2-dev
- libsdl-image1.2-dev
- libsdl-mixer1.2-dev
- libsdl-ttf2.0-dev
- libsdl2-dev
- libusb-1.0-0-dev
- qtbase5-dev
- qtdeclarative5-dev
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-trusty-6.0
coverity_scan:
project:
name: "RetroArch"
+8 -4
View File
@@ -5,7 +5,8 @@
"includePath": [
"/usr/include",
"/usr/local/include",
"${workspaceRoot}"
"${workspaceRoot}",
"${workspaceRoot}/libretro-common/include"
],
"defines": [],
"intelliSenseMode": "clang-x64",
@@ -28,7 +29,9 @@
"includePath": [
"/usr/include",
"/usr/local/include",
"${workspaceRoot}"
"${workspaceRoot}",
"${workspaceFolder}/libretro-common/include",
"${workspaceRoot}/libretro-common/include"
],
"defines": [],
"intelliSenseMode": "clang-x64",
@@ -49,7 +52,8 @@
"C:/Program Files (x86)/Windows Kits/10/Include/10.0.15063.0/ucrt",
"C:/Program Files (x86)/Windows Kits/10/Include/10.0.15063.0/shared",
"C:/Program Files (x86)/Windows Kits/10/Include/10.0.15063.0/winrt",
"${workspaceRoot}"
"${workspaceRoot}",
"${workspaceFolder}/libretro-common/include"
],
"defines": [
"_DEBUG",
@@ -123,5 +127,5 @@
}
}
],
"version": 3
"version": 4
}
+1 -1
View File
@@ -13,7 +13,7 @@
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"externalConsole": true,
"MIMode": "gdb",
"miDebuggerPath": "c:\\msys64\\mingw64\\bin\\gdb.exe",
"setupCommands": [
+31 -1
View File
@@ -7,12 +7,42 @@
"terminal.integrated.cursorBlinking": true,
"editor.tabSize": 3,
"editor.detectIndentation": false,
"editor.renderWhitespace": "all",
"editor.insertSpaces": true,
"files.associations": {
"frontend_driver.h": "c",
"*.in": "c",
"*.rh": "c"
"*.rh": "c",
"array": "c",
"file_stream.h": "c",
"driver.h": "c",
"iosfwd": "c",
"xlocbuf": "c",
"xmemory0": "c",
"ios": "c",
"list": "c",
"input_driver.h": "c",
"video_driver.h": "c",
"menu_driver.h": "c",
"file_path.h": "c",
"unordered_map": "c",
"unordered_set": "c",
"sstream": "cpp",
"hash_map": "c",
"hash_set": "c",
"initializer_list": "c",
"string_view": "c",
"utility": "c",
"menu_input.h": "c",
"tasks_internal.h": "c",
"ozone.h": "c",
"ozone_theme.h": "c",
"ozone_texture.h": "c",
"string_list.h": "c",
"core_info.h": "c"
"thread": "c",
"xlocale": "c"
},
"C_Cpp.dimInactiveRegions": false,
}
+47 -10
View File
@@ -4,12 +4,49 @@
"version": "2.0.0",
"tasks": [
{
"taskName": "msys2-mingw64 build",
"label": "linux clean build",
"type": "shell",
"group": "build",
"command": "make clean && ./configure && make -j12"
},
{
"label": "linux clean",
"type": "shell",
"group": "build",
"command": "make clean"
},
{
"label": "linux build with debug symbols",
"type": "shell",
"group": "build",
"command": "DEBUG=1 make -j12"
},
{
"label": "linux build",
"type": "shell",
"group": "build",
"command": "make -j12"
},
{
"label": "linux build and run",
"type": "shell",
"group": "build",
"command": "make -j12 && ./retroarch -v"
},
{
"label": "linux build and run with debug symbols",
"type": "shell",
"group": "build",
"command": "DEBUG=1 make -j12 && ./retroarch -v"
},
{
"label": "msys2-mingw64 build",
"type": "shell",
"group": {
"kind": "build",
"isDefault": true },
"isDefault": true
},
"command": "./configure; make -j2",
"options": {
@@ -20,9 +57,9 @@
]
}
}
}
},
{
"taskName": "msys2-mingw64 build with debug symbols",
"label": "msys2-mingw64 build with debug symbols",
"type": "shell",
"group": "build",
@@ -36,9 +73,9 @@
]
}
}
}
},
{
"taskName": "msys2-mingw64 rebuild",
"label": "msys2-mingw64 rebuild",
"type": "shell",
"group": "build",
@@ -52,9 +89,9 @@
]
}
}
}
},
{
"taskName": "msys2-mingw64 clean",
"label": "msys2-mingw64 clean",
"type": "shell",
"group": "build",
@@ -68,9 +105,9 @@
]
}
}
}
},
{
"taskName": "msys2-mingw64 run",
"label": "msys2-mingw64 run",
"type": "shell",
"group": {
+96
View File
@@ -0,0 +1,96 @@
diff --git a/gfx/drivers_context/wgl_ctx.c b/gfx/drivers_context/wgl_ctx.c
index b90a8e40c3..e57c4df194 100644
--- a/gfx/drivers_context/wgl_ctx.c
+++ b/gfx/drivers_context/wgl_ctx.c
@@ -78,6 +78,47 @@
#ifndef WGL_CONTEXT_DEBUG_BIT_ARB
#define WGL_CONTEXT_DEBUG_BIT_ARB 0x0001
#endif
+
+#ifndef WGL_ACCELERATION_ARB
+#define WGL_ACCELERATION_ARB 0x2003
+#endif
+
+#ifndef WGL_FULL_ACCELERATION_ARB
+#define WGL_FULL_ACCELERATION_ARB 0x2027
+#endif
+
+#ifndef WGL_DRAW_TO_WINDOW_ARB
+#define WGL_DRAW_TO_WINDOW_ARB 0x2001
+#endif
+
+#ifndef WGL_DOUBLE_BUFFER_ARB
+#define WGL_DOUBLE_BUFFER_ARB 0x2011
+#endif
+
+#ifndef WGL_RED_BITS_ARB
+#define WGL_RED_BITS_ARB 0x2015
+#endif
+
+#ifndef WGL_GREEN_BITS_ARB
+#define WGL_GREEN_BITS_ARB 0x2017
+#endif
+
+#ifndef WGL_BLUE_BITS_ARB
+#define WGL_BLUE_BITS_ARB 0x2019
+#endif
+
+#ifndef WGL_ALPHA_BITS_ARB
+#define WGL_ALPHA_BITS_ARB 0x201B
+#endif
+
+#ifndef WGL_PIXEL_TYPE_ARB
+#define WGL_PIXEL_TYPE_ARB 0x2013
+#endif
+
+#ifndef WGL_TYPE_RGBA_ARB
+#define WGL_TYPE_RGBA_ARB 0x202B
+#endif
+
#endif
#if defined(HAVE_OPENGL)
@@ -313,6 +354,43 @@ static void create_gl_context(HWND hwnd, bool *quit)
RARCH_LOG("[WGL]: Adaptive VSync supported.\n");
wgl_adaptive_vsync = true;
}
+ if (wgl_has_extension("WGL_ARB_pixel_format", extensions))
+ {
+ BOOL (WINAPI * wglChoosePixelFormatARB)
+ (HDC hdc,
+ const int *piAttribIList,
+ const FLOAT *pfAttribFList,
+ UINT nMaxFormats,
+ int *piFormats,
+ UINT *nNumFormats);
+ UINT nMatchingFormats;
+ int index = 0;
+ int attribsDesired[] = {
+ WGL_DRAW_TO_WINDOW_ARB, 1,
+ WGL_ACCELERATION_ARB, WGL_FULL_ACCELERATION_ARB,
+ WGL_PIXEL_TYPE_ARB, WGL_TYPE_RGBA_ARB,
+ WGL_RED_BITS_ARB, 10,
+ WGL_GREEN_BITS_ARB, 10,
+ WGL_BLUE_BITS_ARB, 10,
+ WGL_ALPHA_BITS_ARB, 2,
+ WGL_DOUBLE_BUFFER_ARB, 1,
+ 0,0
+ };
+ wglChoosePixelFormatARB = (BOOL (WINAPI *) (HDC, const int *,
+ const FLOAT*, UINT, int*, UINT*))
+ gfx_ctx_wgl_get_proc_address("wglChoosePixelFormatARB");
+
+ RARCH_LOG("[WGL]: ARB pixel format supported.\n");
+
+ if (wglChoosePixelFormatARB(win32_hdc, attribsDesired,
+ NULL, 1, &index, &nMatchingFormats))
+ {
+ if (nMatchingFormats == 0)
+ {
+ RARCH_WARN("No 10bpc WGL_ARB_pixel_formats found!\n");
+ }
+ }
+ }
}
}
#endif
+276
View File
@@ -0,0 +1,276 @@
static const char *retroarch_contributors_list = R"(
RetroArch and the libretro team would like to
acknowledge the following contributors:
1ch (L0sted)
Aaahh Ahh (Aaahh)
Aaron Oneal (aarononeal)
Adam Mechtley (amechtley)
Adolfo Ketzer (reztek)
AdrianoML
ajefr
Alberto Simon (asimonf)
Alcaro
Alessandro Mangone (Vektor) (zevektor)
Alex Eckhart (alex34567)
Alex Folland (AlexFolland)
Alexander Spady (alkaseltzerspadt)
Alexandre Garcia (Alexandre-Garcia)
Alfredo Monclus (alfrix)
aliaspider
alphanu1
altiereslima
Alwin Garside (Yogarine)
Amiga1200Gamer (amigagamer)
Andre Leiradella (leiradel)
Andrés (fr500)
Anthony J. Bentley (bentley)
Antonio Jose Ramos Marquez (psxdev)
AridRayne
Arto Vainiolehto (arakerlu)
asako (asakous)
Ash (QuarkTheAwesome)
Ashura (CoalaJoe)
Autechre64
Avton1
barbudreadmon
bearoso
blackgur
Boris Timofeev (btimofeev)
bparker06
Brandon Johnson (Denu8thell)
Brian Koropoff (bkoropoff)
Brian S. Stephan (bsstephan)
Brunnis
bubuleur
Casey Borders (CaseyB)
ceb33
celerizer
Chris Merrett (chrisfu)
chu (9chu)
CidVonHighwind
clienthax
Conn O'Griofa (psyke83)
cpsw
Cray Elliott (MP2E)
Cristian Sandu (crazyquark)
ctult
cubtekki
cucholix
cudencuden
cxd4
dalter
Dan Weiss (Dwedit)
danieljg
Daniil Zhilin (GeneralFailer)
dankcushions
Danny Glover (DannyGlover)
Dave (freakdave)
Dave Leaver (danzel)
David Demelier (markand)
David Erickson (daviderickson)
David Shah (daveshah1)
David Walters (hiddenasbestos)
DEX357
diablodiab
dibas
Diego A. (SuperrSonic)
Diego Viola (diegoviola)
Diogo Barros (BlueKore)
DogParty
dor3k
Dudu Akiva (duduke)
duganchen
duskgao
ekipan
ensra
erbridge
esoptron
Ethan Lee (flibitijibibo)
Ezio-PS
Fabio (Oibaf66)
Fabio Ritrovato (Sephiroth87)
Fayne Aldan (FayneAldan)
FIX94
Flame Sage (chris062689)
flyinghead
Francisco José García García (frangarcj)
Francisco Javier Trujillo Mata (fjtrujy)
GameDragon2k
Garrett Brown (garbear)
gblues
Geoffrey Plitt (GeoffreyPlitt)
Glenn Hevey (hevey)
Googer
gouchi
Gregor Richards (GregorR)
Gui Andrade (archshift)
Gustavo Maciel Dias Vieira (gmdvieira)
gvbr
H. İbrahim Güngör (igungor)
hadess
Hans-Kristian Arntzen (Themaister)
Henri Gomez (hgomez)
Henri Gomez (hgomez-sonarsource)
Higor Eurípedes (heuripedes)
hizzlekizzle
Hugo B. (777sha)
hunterk
Hyllian
i30817
iAmGhost
Jack (jakcron)
James Le Cuirot (chewi)
James Sexton (Bezier89)
Jan Holthuis (Holzhaus)
Jay McCarthy (jeapostrophe)
Jean-André Santoni (kivutar)
Jean-Paul Mari (djipi)
Jean-Sébastien Guay (Skylark13)
Jesse Bryan (winneon)
Joel (joel16)
Joerg Sonnenberger (jsonn)
Johannes Schickel (lordhoto)
John Regan (jprjr)
Jon Maddox (maddox)
Jonathan Relf (jonathanrelf)
Joohan Lee (losernator)
Jools Wills (joolswills)
Joseph Carter (iKarith)
Joseph Conan Montgomery (Grotke)
Josh Palmer (ShiftyAxel)
JuanVCS
Justin Jacobs (dorkster)
Justin Weiss (justinweiss)
Ken Rossato (rossato)
Krzysztof Haładyn (krzys_h)
kurumushi
kwyxz
l3iggs
lasers
Lawrence Kesteloot (lkesteloot)
liffy (lifning)
Lionel Flandrin (simias)
littleguy77
Logan (loganmc10)
lordashram
Lothar Serra Mari (lotharsm)
Lubosz Sarnecki (lubosz)
lucianposton
lxerandrew
Mahyar Koshkouei (deltabeard)
Marcelo Munhoz Pélos (mpelos)
markwkidd
Maschell
Mat M. (lioncash)
Matt Sephton (gingerbeardman)
Maxime Gauduin (alucryd)
mcrisostomo
meancoot
meepingsnesroms
meleu
Michael K. (kuxii2016)
Michał Durak (micechal)
Mico Chopitea (micochops)
miguelpinheiro
Mike Swanson (chungy)
miqlas (extrowerk)
misson20000
Monroe88
mprobinson
MrHuu
muzuiget
mwtremblay
Nathan S. (natinusala)
nattycleopatra
netux79
nfnty
Nicolas Adenis-Lamarre (nadenislamarre)
Nicolas Guillaumin (nguillaumin)
Nicolas Lopez Fernandez (pyroesp)
Nikita Vakhrushev (JesterIOS)
Nikola Kocic (nikola-kocic)
Niouby
nosh01
not6 (r-type)
notaz
nstCactus
nurupo
Oggom
Oleg Shevchenko (olsh)
opendata26
orbea
OV2
pamapa
Paolo Bonzini (bonzini)
Paul McCarty (a-shark)
Pedro Ribeiro (pedrib)
pinumbernumber
pponso1
Ramiro Morales (ramiro)
retro-wertz
Richard Howell (rmaz)
Rob Loach (RobLoach)
Romain Gay (vikbez)
Romain Graillot (notnotme)
Romain TISSERAND (rtissera)
Roman Kalashnikov (lunixoid)
Royerson
rrooij
rsn8887
Ryunam
rz5
Saggi Mizrahi (ficoos)
SAKUJ0
Sam Pagenkopf (44100hertz)
Sam Stenvall (Jalle19)
Scheiker
Sebastien Ronsse (sronsse)
Sergi Granell (xerpi)
Sergio Padrino (sergiou87)
sergio-br2 (sergiobenrocha2)
Seth Kingsley (sethk)
Shane Mouton (ismouton)
Shizeeg Unadequatov (shizeeg)
Skarsnik
slotek
sparklewind
spec-chum
Stefan (gizmo98)
stefan-gr
Steven M. Vascellaro (stevoisiak)
Stuart Carnie (stuartcarnie)
Sunguk Lee (d3m3vilurr)
Supernature2k
Sven (RetroSven)
Swizzy
Tatsuya79
Terry Lewis (terry-au)
The Last Cabra (vanfanel)
thedax
theheroGAC
TheOfficialFloW
thiolliere
Toad King (ToadKing)
Tobias Jakobi (tobiasjakobi)
Tomáš Kelemen (ToKe79)
Torsten Paul (t-paul)
TotalCaesar659
TroggleMonkey
Twinaphex
URBANsUNITED
vgmoose
Vicky C Lau (vickychenglau)
Vladimir Panteleev (CyberShadow)
Víctor "IlDucci" (IlDucci)
Wang Vincent (susemm)
webgeek1234
Wiktor Strzębała (wiktorek140)
xhp-creations
Yarsan Hoessain (hyarsan)
Yongwoon Cho (ssangkong)
yoshisuga
zeromus
zlice
Zoran Vuckovic (casdevel)
)";
+168 -2
View File
@@ -1,4 +1,169 @@
# 1.7.4 (future)
# 1.7.7 (future)
# 1.7.6
- ANDROID: Fix Xperia Play input binding.
- CHEEVOS: Reset when hardcore mode is toggled.
- CHEEVOS: Update the hashing methods to identify NES, SNES and Lynx games (more accurate and accepting headerless ROMs).
- COMMON: Add new JSON playlist format.
- COMMON: Fix playlist corruption when deleting items.
- COMMON: Fix archive progress display calculation.
- COMMON: Fix playlist entries appearing with previously used names.
- COMMON: Fix screenshot filename with no core or content.
- COMMON: Allow compiling without menu support.
- CORE UPDATER: Allow sideloading cores from the menu.
- CPU FILTERS: Add Normal2x filter.
- CRT/LINUX: New Linux switching method partially implemented.
- CRT/LINUX: Linux restore desktop resolution fixed.
- CRT/LINUX: Monitor index switching and auto enumerate for output detection in Linux (still working on the windows method).
- CRT/RASPBERRY PI: Initial support.
- DATE: Add Date / Time style options.
- DEBUGGING: Add an integrated crash handler for debug builds (see https://docs.libretro.com/tech/debugging)
- DISCORD: Register the application name properly.
- DISK CONTROL: Remember the last used folder / current active folder to make disk-swapping faster.
- INPUT: Add new menu toggle (hold start button for 2 seconds)
- INPUT: Fix arrow keys being incorrectly bound as numpad keys
- INPUT/SDL: Flush the joypad events. Decreases cpu usage over time with the SDL joypad driver.
- LOCALIZATION: Add Greek translation.
- LOCALIZATION: Update German translation.
- LOCALIZATION: Update Italian translation.
- LOCALIZATION: Update Japanese translation.
- LOCALIZATION: Update Simplified Chinese translation.
- LOCALIZATION: Update Spanish translation.
- MENU: New "ozone" menu driver.
- MENU: Only show CRT SwitchRes if video display server is implemented (Windows/Linux for now)
- MENU: User Interface -> Appearance -> 'Menu Font Green/Blue Color' settings now work properly.
- MENU: Add option to enable in-menu sound effects.
- MENU/D3D: Scissoring support (will be used for Ozone and menu widgets).
- MENU/QT/WIMP: Allow building with MSVC2017.
- MENU/QT/WIMP: Add detailed file browser table.
- MENU/QT/WIMP: New grid view implementation that is faster and loads thumbnails on-demand.
- MENU/QT/WIMP: Thumbnail drag and drop support.
- MENU/RGUI: Overhaul custom theme interface + add wallpaper support.
- MENU/RGUI: Thumbnail support and thumbnail downscaling.
- MENU: Hide password values.
- MENU/SOUNDS: Implement in-menu sound effects (not enabled by default for now, still experimental).
- MIDI: Add a Linux ALSA driver for MIDI.
- NETPLAY: Force fast-save-states when netplay is enabled.
- NETPLAY: Allow quick joining subsystem lobbies.
- OSX: Initial CoreAudio V3 audio driver (not yet used in release builds).
- OSX: OpenGL 3.2 Core support for cores.
- PS2: Initial PlayStation2 port.
- PS4: Initial PlayStation4 port.
- RECORDING: Implement recording options in the menu complete with quality profiles, streaming, and proper file naming
- SCANNER: Fix GDI disc scanning.
- SHADERS: Fix auto shader preset loading on D3D10, D3D11, D3D12
- SUBSYSTEM: Allow more than 10 subsystems
- SUBSYSTEM: Cores that use subsystem for complex scenarios can now load content without starting a regular content first
- SUBSYSTEM: Remember the last used folder to make loading subsystem type content faster
- SWITCH/LIBNX: Improve touch scaling calculation.
- SWITCH: Proper button labels.
- TVOS: Initial tvOS port.
- VULKAN: Fix RGUI crashing at startup.
- VULKAN/RGUI: Enable 'Menu Linear Filter' option.
- VULKAN: Fix secondary screens in overlays not working.
- WAYLAND: Implement idle-inhibit support (needed for screensaver suspend).
- WAYLAND: Fix fullscreen toggle.
- WIIU: Initial netplay peer-to-peer support. Network information working.
- WINDOWS/WSA: Network Information info is blank until first network operation.
- WINDOWS: Fix an ancient bug that caused wrong mappings for keyboard arrows.
- WINDOWS: Remember window size and position if so desired.
- WINDOWS: SSL/TLS connections now work properly.
- WINDOWS: Fall back to GDI driver if no accelerated graphics driver is found.
- UWP: Initial UWP port.
- VFS: Update to version 3.
- XBONE: Initial Xbox One port.
- XMB/OZONE: Add more icons
- XMB: Add Automatic Inverted theme
- ???: Easter Egg
# 1.7.5
- CAMERA: Fix Video4Linux2 driver that broke years ago.
- CONFIG: Add 'Reset To Defaults' setting in Configurations. Thi will reset your config file to defaults.
- CHEATS: Add support for Rumble when increase or decrease by the rumble value.
- CHEATS: Add cheat variables to allow for updating large portions of memory.
- CHEEVOS: Prevent loading states before achievements are fully loaded.
- CRT: New porches and interlaced bug fix.
- CRT: New functionality, ability to switch between 15KHz and 31KHz, etc.
- COMMON: Support for "OEM-102" key (usually '\' on Euro keyboards).
- DISCORD: Add 'Ask To Join' Feature.
- EMSCRIPTEN: Add stb_font support.
- INPUT: Add new menu toggle combos 'L3 + R' and 'L + R' (useful for Switch).
- IOS: Use safe area to account for notch for iPhone X and adjust main view.
- LOCALIZATION: Update Portuguese / Brazilian translation.
- LOCALIZATION: Update Japanese translation.
- LOCALIZATION: Update Polish translation.
- LOCALIZATION: Update Spanish translation.
- MENU: Add dropdown lists for many settings.
- MENU: Fix crash that could happen when changing core's options on Android.
- MENU/QT/WIMP: Add option to rename playlists.
- MENU/QT/WIMP: Add option to filter extensions inside archives when adding to a playlist.
- MENU/QT/WIMP: Rename playlist entries with 2 single clicks.
- MENU/QT/WIMP: Fix shader parameter checkboxes not working
- METAL: Add screenshot support.
- NETPLAY: Save lobby details received back from server after first announcement.
- OPENGL/GLX: Implement Adaptive VSync - GLX_EXT_swap_control_tear.
- OPENGL/WGL: Implement Adaptive VSync - WGL_EXT_swap_control_tear.
- RUNAHEAD: Fix performance degradation that could happen over time (after approx. 30 mins). Fixed input IDs outside of range 0-35 causing slow performance in runahead.
- SWITCH: Add stb_font support.
- SWITCH: Add Retro Achievements support.
- SWITCH: Add networking support.
- SWITCH: Add touchscreen support.
- SWITCH: Add OpenGL support.
- SWITCH: Merging of RetroNX Nintendo Switch port, based on libnx SDK.
- VULKAN: Fix race condition in threaded mailbox emulation.
- VULKAN: Maintenance fixes.
- WIIU: Fix menu lag when built with DevKitPro r32.
# 1.7.4
- ANDROID: Add sustained performance mode, can be turned on/off in Power Management settings menu.
- ANDROID: Powerstate/battery level support.
- CHEEVOS: Fix crash when scrolling Achievement List while Unofficial Achievements enabled (#6732).
- CHEEVOS: Added hitcounts support for PauseIf/ResetIf (#6817).
- COMMON: Automatically hide "Configuration Override options" in Quick Menu.
- COMMON: Small Bugfix to not trigger savestate code when pressing Reset.
- COMMON: Added libsixel video driver.
- EMSCRIPTEN: Fix Game Focus Toggle.
- HID/OSX: Fix to set hid device registration deterministic (#6497), to address issue #6640 re-adding dynamic device registration.
- LOCALIZATION: Update Italian translation.
- LOCALIZATION: Update Japanese translation.
- LOCALIZATION: Update Polish translation.
- LOCALIZATION: Update Portuguese / Brazilian translation.
- LOCALIZATION: Update Russian translation.
- LOCALIZATION: Update Spanish translation.
- MIDI: Add MIDI support to the libretro API. Dosbox is the first proof of concept core implementing libretro MIDI.
- MIDI: Add a Windows driver for MIDI, based on winmm.
- MENU/QT/WIMP: Qt QSlider styling for Dark Theme.
- MENU/QT/WIMP: Remove button ghostly inside highlighting.
- MENU/QT/WIMP: Initial grid view.
- MENU/QT/WIMP: Drag&drop to add new playlist items, add option to add/edit/delete playlists.
- MENU/QT/WIMP: Add menu option to update RetroArch (Windows only for now).
- MENU/QT/WIMP: Add menu option to manage shaders.
- MENU/QT/WIMP: Add menu option to manage core options.
- MENU/XMB: Add new icons for the settings
- MENU/XMB: Add an option to show the desktop ui
- METAL: Initial work-in-progress video driver for Metal. macOS-only right now, and currently requires macOS 10.13.
- METAL: Supports XMB/MaterialUI, has a menu display driver. Has a font rendering driver.
- METAL/SLANG: Slang shaders should be compatible with Metal video driver.
- NETWORK: Enable SSL/TLS support by default for desktop platforms.
- QNX: Fix Game Focus Toggle.
- PS3: Add audio mixer support for FLAC and MP3.
- PSP: Use proper button labels, fix inverted R-Stick Y axis.
- REMAPS: Fix the way offsets are calculated for keyboard remapping.
- RUNAHEAD: Fix full-screen mode change breaking Secondary Core's environment variables.
- VITA: Use proper button labels, fix inverted R-Stick Y axis.
- VITA: Add imc0: mount.
- VITA: Use sceCtrlIsMultiControllerSupported to detect.
- VULKAN: Fix two validation errors.
- VULKAN: Try to avoid creating swapchains redundantly. Should fix black screen and having to alt tab out of window again to get display working on Nvidia GPUs (Windows).
- VULKAN/OSX: Initial MoltenVK support. Not enabled yet, several MoltenVK bugs should be fixed first before we can have it fully working.
- WINDOWS/DINPUT: Add rumble support.
- WINDOWS/DINPUT: Fix Game Focus Toggle.
- WINDOWS/RAWINPUT: Fix Game Focus Toggle.
- X11: Fix Game Focus Toggle.
- WII: Change deflicker setting to work in 480p or higher, and always enables vfilter so that the user can easily change brightness.
- WIIU: Fix out-of-bounds rendering bug
- WIIU: Implement UDP broadcast network logging on Wii U.
- WIIU: Audio should no longer clip.
# 1.7.3
- AUDIO: Audio mixer supports FLAC/MP3 file types now!
@@ -11,6 +176,7 @@
- LOCALIZATION: Update Italian translation.
- LOCALIZATION: Update Japanese translation.
- LOCALIZATION: Update Portuguese translation.
- MENU: New WIMP Qt GUI!
- MENU: Audio mixer now works in the menu without any cores loaded. You have to enable the setting 'Enable menu audio' for this to work.
- REMAPPING/OVERLAYS: Fix regression - overlays could no longer be remapped.
- SCANNER: Add Wii Backup File WBFS support.
@@ -45,7 +211,7 @@ video drivers that implement it (D3D8/9/10/11/12/GL)
- MENU/RGUI: D3D8/D3D9: Hookup Menu Linear Filter
- MENU/XMB: Disable XMB shadow icons by default for PowerPC and ARM for performance reasons.
- MENU/XMB: Left/right thumbnails are now automatically scaled according to layout.
- MENU/XMB: Add Left Thumbnails (additional to the right).
- MENU/XMB: Add Left Thumbnails (additional to the right).
- MENU/XMB: Fixed left/right tab regression.
- MENU/XMB: Fix scaling of tall images that were cut on bottom previously.
- MENU/XMB: Menu scale factor setting now changes texts length, image scaling and margins.
+2482
View File
File diff suppressed because it is too large. Load diff
+35 -21
View File
@@ -16,26 +16,36 @@ include config.mk
TARGET = retroarch
OBJ :=
LIBS :=
DEF_FLAGS :=
ASFLAGS :=
DEFINES := -DHAVE_CONFIG_H -DRARCH_INTERNAL -D_FILE_OFFSET_BITS=64
DEFINES += -DGLOBAL_CONFIG_DIR='"$(GLOBAL_CONFIG_DIR)"'
OBJDIR_BASE := obj-unix
ifeq ($(DEBUG), 1)
OBJDIR := $(OBJDIR_BASE)/debug
CFLAGS ?= -O0 -g
CXXFLAGS ?= -O0 -g
DEFINES += -DDEBUG -D_DEBUG
else
OBJDIR := $(OBJDIR_BASE)/release
CFLAGS ?= -O3
CXXFLAGS ?= -O3
DEF_FLAGS += -ffast-math
endif
OBJ :=
LIBS :=
DEFINES := -DHAVE_CONFIG_H -DRARCH_INTERNAL -D_FILE_OFFSET_BITS=64
DEFINES += -DGLOBAL_CONFIG_DIR='"$(GLOBAL_CONFIG_DIR)"'
ifneq ($(findstring BSD,$(OS)),)
CFLAGS += -DBSD
DEF_FLAGS += -DBSD
LDFLAGS += -L/usr/local/lib
UDEV_CFLAGS += -I/usr/local/include/libepoll-shim
UDEV_LIBS += -lepoll-shim
endif
ifneq ($(findstring DOS,$(OS)),)
CFLAGS += -march=i386
DEF_FLAGS += -march=i386
LDFLAGS += -lemu
endif
@@ -75,21 +85,19 @@ ifneq ($(V),1)
Q := @
endif
ifeq ($(DEBUG), 1)
OPTIMIZE_FLAG = -O0 -g
DEFINES += -DDEBUG -D_DEBUG
else
OPTIMIZE_FLAG = -O3 -ffast-math
ifeq ($(HAVE_DRMINGW), 1)
DEF_FLAGS += -DHAVE_DRMINGW
LDFLAGS += $(DRMINGW_LIBS)
endif
ifneq ($(findstring Win32,$(OS)),)
LDFLAGS += -mwindows
endif
CFLAGS += -Wall $(OPTIMIZE_FLAG) $(INCLUDE_DIRS) -I. -Ideps -Ideps/stb
DEF_FLAGS += -Wall $(INCLUDE_DIRS) -I. -Ideps -Ideps/stb
APPEND_CFLAGS := $(CFLAGS)
CXXFLAGS += $(APPEND_CFLAGS) -std=c++11 -D__STDC_CONSTANT_MACROS
CFLAGS += $(DEF_FLAGS)
CXXFLAGS += $(DEF_FLAGS) -std=c++11 -D__STDC_CONSTANT_MACROS
OBJCFLAGS := $(CFLAGS) -D__STDC_CONSTANT_MACROS
ifeq ($(HAVE_CXX), 1)
@@ -164,7 +172,7 @@ all: $(TARGET) config.mk
$(MOC_SRC):
@$(if $(Q), $(shell echo echo MOC $<),)
$(eval MOC_TMP := $(patsubst %.h,%_moc.cpp,$@))
$(Q)$(MOC) -o $(MOC_TMP) $<
$(Q)QT_SELECT=$(QT_VERSION) $(MOC) -o $(MOC_TMP) $<
$(foreach x,$(join $(addsuffix :,$(MOC_SRC)),$(MOC_HEADERS)),$(eval $x))
@@ -243,12 +251,18 @@ install: $(TARGET)
chmod 644 $(DESTDIR)$(MAN_DIR)/man6/retroarch.6
chmod 644 $(DESTDIR)$(MAN_DIR)/man6/retroarch-cg2glsl.6
chmod 644 $(DESTDIR)$(DATA_DIR)/pixmaps/retroarch.svg
@if test -d media/assets; then \
@if test -d media/assets && test $(HAVE_ASSETS); then \
echo "Installing media assets..."; \
mkdir -p $(DESTDIR)$(ASSETS_DIR)/assets/xmb; \
mkdir -p $(DESTDIR)$(ASSETS_DIR)/assets/glui; \
cp -r media/assets/xmb/ $(DESTDIR)$(ASSETS_DIR)/assets; \
cp -r media/assets/glui/ $(DESTDIR)$(ASSETS_DIR)/assets; \
mkdir -p $(DESTDIR)$(ASSETS_DIR)/assets; \
if test $(HAVE_MATERIALUI) = 1; then \
cp -r media/assets/glui/ $(DESTDIR)$(ASSETS_DIR)/assets; \
fi; \
if test $(HAVE_XMB) = 1; then \
cp -r media/assets/xmb/ $(DESTDIR)$(ASSETS_DIR)/assets; \
fi; \
if test $(HAVE_OZONE) = 1; then \
cp -r media/assets/ozone/ $(DESTDIR)$(ASSETS_DIR)/assets; \
fi; \
cp media/assets/COPYING $(DESTDIR)$(DOC_DIR)/COPYING.assets; \
echo "Asset copying done."; \
fi
+24
View File
@@ -0,0 +1,24 @@
include Makefile.common
# Qt MOC generation, required for QObject-derived classes
ifneq ($(MOC_HEADERS),)
# prefix moc_ to base filename of paths and change extension from h to cpp, so a/b/foo.h becomes a/b/moc_foo.cpp
MOC_SRC := $(join $(addsuffix moc_,$(dir $(MOC_HEADERS))), $(notdir $(MOC_HEADERS:.h=.cpp)))
endif
MOC ?= $(error missing moc path)
.PHONY: generate
$(MOC_SRC):
@$(if $(Q), $(shell echo echo MOC $<),)
$(eval MOC_TMP := $(patsubst %.h,%_moc.cpp,$@))
$(MOC) -o $(MOC_TMP) $<
$(foreach x,$(join $(addsuffix :,$(MOC_SRC)),$(MOC_HEADERS)),$(eval $x))
generate: $(MOC_SRC)
@echo $(MOC_SRC)
print-%:
@echo '$*=$($*)'
+113
View File
@@ -0,0 +1,113 @@
# This build was put together and is maintained by ModMyClassic.com for Libretro.
# The purpose is to give Libretro a proper "official" build platform for classic consoles.
# If you need any help in building for the classics or have any questions then please visit
# https://modmyclassic.com/comp and we will help in any way possible!
# Building Prerequisites ##############
# arm-linux-gnueabihf-gcc-8
# arm-linux-gnueabihf-g++-8
# arm-linux-gnueabihf-as
# arm-linux-gnueabihf-strip
# patchelf
# bc
include version.all
# Classic Readme Variables ############
CLASSIC_ALT_VER := $(shell echo $(RARCH_VERSION) | tr . _)
CLASSIC_MODS_VER := Official_Retroarch_v$(CLASSIC_ALT_VER)c_COptimised
CLASSIC_MODS_NAME := RetroArch v$(RARCH_VERSION)c \(Official Classic Optimised\)
CLASSIC_VERSION := $(RARCH_VERSION)c \(Classic+\)
MOD_CREATOR := Libretro + ModMyClassic
MOD_CATEGORY := RetroArch
GIT_COMMIT := $(shell echo "`git rev-parse --short HEAD``git diff-index --quiet HEAD -- || echo '-dirty'`")
# Platform dependant Variables ########
HAKCHI_DIR := RA_Platform-Hakchi
HAKCHI_GIT := https://github.com/Classicmods/RA_Platform-Hakchi
# General Shared Variables ############
TARGET := retroarch
CC_V = arm-linux-gnueabihf-gcc-8
CXX_V = arm-linux-gnueabihf-g++-8
AS_V = arm-linux-gnueabihf-as
CC_AS_V = arm-linux-gnueabihf-gcc-8
# Libretro Defines ####################
#HAVE_CLASSIC = Classic Hook, disable some features
#HAVE_C_A7A7 = Classic Armv7 Cortex A7 optimisation override
#HAVE_HAKCHI = Hakchi Hook, change default configurations etc (TODO)
all: $(TARGET)
retroarch:
#Backup vanilla version files + ammend version
cp version.all version_BACKUP.all && cp version.dtd version_BACKUP.dtd
sed -i -e 's/RARCH_VERSION="[^"]*"/RARCH_VERSION="$(CLASSIC_VERSION)"/g' version.all
sed -i -e 's/PACKAGE_VERSION "[^"]*"/PACKAGE_VERSION "$(CLASSIC_VERSION)"/g' version.all
sed -i -e 's/ENTITY version "[^"]*"/ENTITY version "$(CLASSIC_VERSION)"/g' version.dtd
#Build the RetroArch Binary for cross platform classics (ARMv7 Cortex A7)
patchelf --version #Check if you have patchelf installed... (sudo apt-get install patchelf)
./configure --host=arm-linux-gnueabihf --enable-mali_fbdev --disable-freetype --enable-opengles --enable-udev --enable-alsa --enable-neon --enable-floathard --disable-discord
make CC=$(CC_V) CXX=$(CXX_V) AS=$(AS_V) CC_AS=$(CC_AS_V) LDFLAGS_SDL=-lSDL2 HAVE_CLASSIC=1 HAVE_C_A7A7=1 HAVE_HAKCHI=1 -j #Cook it
arm-linux-gnueabihf-strip -v retroarch
patchelf --replace-needed libSDL2-2.0.so.0 libSDL2.so retroarch #libSDL2-2.0.so.0 sym link doesn't exist on native build. Just patch the binary...
#HAKCHI BUILD (NESC, SNESC)
#FYI this build was originally known as RetroArch 'Neo' for Hakchi.
@echo "** BUILDING CLASSIC_MODS HAKCHI - $(CLASSIC_MODS_VER) HMOD PACKAGE **"
rm -fr /tmp/$(HAKCHI_DIR)
cd /tmp/; git clone $(HAKCHI_GIT)
cp retroarch /tmp/$(HAKCHI_DIR)/bin/retroarch
echo $$(echo "Built by: " $$USER @ $$(date) \\\\\\ Git Commit: $(GIT_COMMIT)) > /tmp/$(HAKCHI_DIR)/etc/libretro/retroarch_version
cp /tmp/$(HAKCHI_DIR)/readme.md /tmp/$(HAKCHI_DIR)/readme_COPY.md
printf "%s\n" \
"---" \
"Name: $(CLASSIC_MODS_NAME)" \
"Creator: $(MOD_CREATOR)" \
"Category: $(MOD_CATEGORY)" \
"Version: $(CLASSIC_MODS_VER)" \
"Built on: $(shell date)" \
"Git commit: $(GIT_COMMIT)" \
"---" > /tmp/$(HAKCHI_DIR)/readme.md
cat /tmp/$(HAKCHI_DIR)/readme_COPY.md >> /tmp/$(HAKCHI_DIR)/readme.md
rm /tmp/$(HAKCHI_DIR)/readme_COPY.md
@echo "** COMPRESSING $(CLASSIC_MODS_VER) HMOD PACKAGE **"
cd /tmp/$(HAKCHI_DIR)/; tar -czvf "$(CLASSIC_MODS_VER).hmod" *
mv /tmp/$(HAKCHI_DIR)/$(CLASSIC_MODS_VER).hmod .
@echo "** BUILT CLASSIC_MODS HAKCHI - $(CLASSIC_MODS_VER) HMOD PACKAGE **"
rm -fr /tmp/$(HAKCHI_DIR) #clean up tmp
#COMMODORE 64 MINI BUILD (WIP)
#Clean down dirty files
rm -f version.all version.dtd
mv version_BACKUP.all version.all && mv version_BACKUP.dtd version.dtd
@echo "*********************************************************************"
@echo "*** Classic ARM7 Cortex A7 build and packages built successfully! ***"
@echo "****************** Winner, Winner, Chicken Dinner! ******************"
@echo "*********************************************************************"
clean:
rm -rf obj-unix
rm -f *.d
rm -f *.o
rm -f audio/*.o
rm -f conf/*.o
rm -f gfx/*.o
rm -f gfx/drivers_font/*.o
rm -f gfx/drivers_font_renderer/*.o
rm -f gfx/drivers_context/*.o
rm -f gfx/py_state/*.o
rm -f compat/*.o
rm -f record/*.o
rm -f input/*.o
rm -f tools/*.o
rm -f $(BINDIR)/retroarch
rm -f $(BINDIR)/retroarch-joyconfig
rm -f $(PNDDIR)/readme.html
rm -f retroarch
rm -f $(CLASSIC_MODS_VER).hmod
rm -f version.all version.dtd
mv -f version_BACKUP.all version.all || echo "Backup Doesn't Exist - Ignoring..."
mv -f version_BACKUP.dtd version.dtd || echo "Backup Doesn't Exist - Ignoring..."
rm -f *_BACKUP*
+782 -620
View File
File diff suppressed because it is too large. Load diff
+24 -21
View File
@@ -5,7 +5,7 @@ DEBUG = 0
GRIFFIN_BUILD = 1
WHOLE_ARCHIVE_LINK = 0
BUILD_3DSX = 1
BUILD_3DS = 1
BUILD_3DS = 0
BUILD_CIA = 1
LIBCTRU_NO_DEPRECATION = 1
@@ -31,6 +31,12 @@ OBJ += ctr/ctr_system.o
OBJ += ctr/ctr_memory.o
OBJ += ctr/ctr_linear.o
OBJ += ctr/gpu_old.o
OBJ += ctr/exec-3dsx/exec_cia.o \
ctr/exec-3dsx/exec_3dsx.o \
ctr/exec-3dsx/mini-hb-menu/launch.o \
ctr/exec-3dsx/mini-hb-menu/loaders/rosalina.o \
ctr/exec-3dsx/mini-hb-menu/loaders/hax2.o \
ctr/exec-3dsx/mini-hb-menu/loaders/ninjhax1.o
ifeq ($(APP_BIG_TEXT_SECTION), 1)
APP_USE_SVCHAX = 1
@@ -46,8 +52,8 @@ ifeq ($(GRIFFIN_BUILD), 1)
OBJ += griffin/griffin.o
DEFINES += -DHAVE_GRIFFIN=1 -DHAVE_MENU -DHAVE_RGUI -DHAVE_XMB -DHAVE_MATERIALUI -DHAVE_LIBRETRODB -DHAVE_CC_RESAMPLER
DEFINES += -DHAVE_ZLIB -DHAVE_RPNG -DHAVE_RJPEG -DHAVE_RBMP -DHAVE_RTGA -DWANT_ZLIB
DEFINES += -DHAVE_NETWORKING -DHAVE_CHEEVOS -DHAVE_SOCKET_LEGACY -DHAVE_THREADS
#-DHAVE_SSL -DMBEDTLS_SSL_DEBUG_ALL
#DEFINES += -DHAVE_NETWORKING -DHAVE_CHEEVOS -DRC_DISABLE_LUA -DHAVE_SOCKET_LEGACY -DHAVE_THREADS
#-DHAVE_SSL -DHAVE_BUILTINMBEDTLS -DMBEDTLS_SSL_DEBUG_ALL
#ssl is currently incompatible with griffin due to use of the "static" flag on repeating functions that will conflict when included in one file
else
HAVE_CC_RESAMPLER = 1
@@ -56,23 +62,25 @@ else
HAVE_RPNG = 1
HAVE_RJPEG = 1
HAVE_RBMP = 1
HAVE_MENU = 1
HAVE_RGUI = 1
HAVE_ZLIB = 1
HAVE_7ZIP = 1
HAVE_BUILTINZLIB = 1
HAVE_LIBRETRODB = 1
HAVE_ZARCH = 0
HAVE_MATERIALUI = 1
HAVE_XMB = 1
HAVE_STATIC_VIDEO_FILTERS = 1
HAVE_STATIC_AUDIO_FILTERS = 1
HAVE_NETWORKING = 1
HAVE_CHEEVOS = 1
HAVE_SOCKET_LEGACY = 1
HAVE_THREADS = 1
HAVE_SSL = 1
#HAVE_NETWORKING = 1
#HAVE_CHEEVOS = 1
#HAVE_SOCKET_LEGACY = 1
#HAVE_THREADS = 1
#HAVE_SSL = 1
#HAVE_BUILTINMBEDTLS = 1
include Makefile.common
CFLAGS += $(DEF_FLAGS)
BLACKLIST :=
BLACKLIST += input/input_overlay.o
BLACKLIST += tasks/task_overlay.o
@@ -98,7 +106,6 @@ MAKEROM_ARGS_COMMON = -rsf $(APP_RSF) -exefslogo -elf $(TARGET).elf -icon $(TARG
INCDIRS := -I$(CTRULIB)/include
LIBDIRS := -L. -L$(CTRULIB)/lib
ARCH := -march=armv6k -mtune=mpcore -mfloat-abi=hard -marm -mfpu=vfp -mtp=soft
CFLAGS += -mword-relocations \
@@ -124,7 +131,12 @@ ifeq ($(WHOLE_ARCHIVE_LINK), 1)
WHOLE_END := -Wl,--no-whole-archive
endif
CFLAGS += -I. -Ideps -Ideps/libz -Ideps/7zip -Ideps/stb -Ilibretro-common/include
CFLAGS += -I. \
-Ideps \
-Ideps/libz \
-Ideps/7zip \
-Ideps/stb \
-Ilibretro-common/include
CFLAGS += -DRARCH_INTERNAL -DRARCH_CONSOLE
CFLAGS += -DHAVE_FILTERS_BUILTIN $(DEFINES)
@@ -136,7 +148,6 @@ LDFLAGS += -specs=ctr/3dsx_custom.specs -g $(ARCH) -Wl,-Map,$(notdir $*.map)
CFLAGS += -std=gnu99 -ffast-math
LIBS := $(WHOLE_START) -lretro_ctr $(WHOLE_END) -lm
ifeq ($(DEBUG), 1)
@@ -145,7 +156,6 @@ else
LIBS += -lctru
endif
ifeq ($(BUILD_3DSX), 1)
TARGET_3DSX := $(TARGET).3dsx $(TARGET).smdh
endif
@@ -162,7 +172,7 @@ endif
all: $(TARGET)
$(TARGET): $(TARGET_3DSX) $(TARGET_3DS) $(TARGET_CIA) $(TARGET).core
$(TARGET): $(TARGET_3DSX) $(TARGET_3DS) $(TARGET_CIA)
$(TARGET).3dsx: $(TARGET).elf
$(TARGET).elf: $(OBJ) libretro_ctr.a
@@ -255,17 +265,12 @@ $(TARGET).3ds: $(TARGET).elf $(TARGET).bnr $(TARGET).icn $(APP_RSF)
$(TARGET).cia: $(TARGET).elf $(TARGET).bnr $(TARGET).icn $(APP_RSF)
$(MAKEROM) -f cia -o $@ $(MAKEROM_ARGS_COMMON) -DAPP_ENCRYPTED=false
$(TARGET).core: $(TARGET).elf
echo $(APP_UNIQUE_ID) > $(TARGET).core
clean:
rm -f $(OBJ)
rm -f $(TARGET).3dsx
rm -f $(TARGET).elf
rm -f $(TARGET).3ds
rm -f $(TARGET).cia
rm -f $(TARGET).core
rm -f $(TARGET).smdh
rm -f $(TARGET).bnr
rm -f $(TARGET).icn
@@ -273,5 +278,3 @@ clean:
rm -f ctr/3dsx_custom_crt0.o
.PHONY: clean
+12 -8
View File
@@ -2,12 +2,12 @@ TARGET := retroarch_3ds_salamander
LIBRETRO =
DEBUG = 0
BUILD_3DSX = 0
BUILD_3DSX = 1
BUILD_3DS = 0
BUILD_CIA = 1
APP_TITLE = Retroarch 3DS
APP_DESCRIPTION = Retroarch 3DS
APP_TITLE = RetroArch 3DS
APP_DESCRIPTION = RetroArch 3DS
APP_AUTHOR = Team Libretro
APP_PRODUCT_CODE = RETROARCH-3DS
APP_UNIQUE_ID = 0xBAC00
@@ -27,6 +27,7 @@ OBJ := ctr/ctr_system.o \
frontend/drivers/platform_null.o \
libretro-common/encodings/encoding_utf.o \
libretro-common/compat/compat_strcasestr.o \
libretro-common/compat/fopen_utf8.o \
libretro-common/file/file_path.o \
libretro-common/string/stdstring.o \
libretro-common/lists/string_list.o \
@@ -39,6 +40,13 @@ OBJ := ctr/ctr_system.o \
libretro-common/hash/rhash.o \
file_path_str.o \
verbosity.o
OBJ += ctr/exec-3dsx/exec_cia.o \
ctr/exec-3dsx/exec_3dsx.o \
ctr/exec-3dsx/mini-hb-menu/launch.o \
ctr/exec-3dsx/mini-hb-menu/loaders/rosalina.o \
ctr/exec-3dsx/mini-hb-menu/loaders/hax2.o \
ctr/exec-3dsx/mini-hb-menu/loaders/ninjhax1.o
ifeq ($(strip $(DEVKITPRO)),)
$(error "Please set DEVKITPRO in your environment. export DEVKITPRO=<path to>devkitpro")
@@ -87,10 +95,8 @@ LDFLAGS += -specs=ctr/3dsx_custom.specs -g $(ARCH) -Wl,-Map,$(notdir $*.map)
CFLAGS += -std=gnu99 -ffast-math
LIBS := -lctru -lm
ifeq ($(BUILD_3DSX), 1)
TARGET_3DSX := $(TARGET).3dsx $(TARGET).smdh
endif
@@ -182,7 +188,7 @@ ifeq ($(APP_BIG_TEXT_SECTION), 1)
else
rm -f $(TARGET).xml
endif
-3dsxtool $< $@ $(_3DSXFLAGS)
$(DEVKITARM)/bin/3dsxtool $< $@ $(_3DSXFLAGS)
$(TARGET).elf: ctr/3dsx_custom_crt0.o
$(LD) $(LDFLAGS) $(OBJ) $(LIBDIRS) $(LIBS) -o $@
@@ -213,5 +219,3 @@ clean:
rm -f ctr/3dsx_custom_crt0.o
.PHONY: clean
+4 -2
View File
@@ -7,7 +7,7 @@ PTHREAD = 0
OS = Emscripten
OBJ :=
DEFINES := -DRARCH_INTERNAL -DHAVE_MAIN -s USE_PTHREADS=$(PTHREAD)
DEFINES += -DHAVE_OPENGL -DHAVE_OPENGLES -DHAVE_OPENGLES2 -DHAVE_GLSL -DHAVE_FILTERS_BUILTIN
DEFINES += -DHAVE_OPENGL -DHAVE_OPENGLES -DHAVE_OPENGLES2 -DHAVE_GLSL -DHAVE_FILTERS_BUILTIN -DHAVE_STB_FONT
HAVE_OVERLAY = 1
HAVE_CC_RESAMPLER = 1
@@ -16,6 +16,7 @@ HAVE_OPENGLES = 1
HAVE_RJPEG = 0
HAVE_RPNG = 1
HAVE_EMSCRIPTEN = 1
HAVE_MENU = 1
HAVE_RGUI = 1
HAVE_SDL = 0
HAVE_SDL2 = 0
@@ -25,6 +26,7 @@ HAVE_SHADERPIPELINE = 1
HAVE_STATIC_VIDEO_FILTERS = 1
HAVE_STATIC_AUDIO_FILTERS = 1
MEMORY = 536870912
HAVE_STB_FONT = 1
PRECISE_F32 = 1
@@ -56,7 +58,7 @@ endif
include Makefile.common
CFLAGS += -Ideps/libz -Ideps -Ideps/stb
CFLAGS += $(DEF_FLAGS) -Ideps/libz -Ideps -Ideps/stb
libretro = libretro_emscripten.bc
ifneq ($(V), 1)
+21 -11
View File
@@ -158,8 +158,6 @@ else ifeq ($(libogc_platform), 1)
endif
endif
LIBS += -logc
ifeq ($(EXTERNAL_LIBOGC), 1)
LIBS += -lfat
endif
@@ -176,6 +174,8 @@ else ifeq ($(libogc_platform), 1)
endif
endif
LIBS += -logc
CFLAGS += -DGEKKO -U__INT32_TYPE__ -U __UINT32_TYPE__ -D__INT32_TYPE__=int
HAVE_RUNAHEAD := 1
@@ -193,7 +193,7 @@ else ifeq ($(libogc_platform), 1)
RARCH_CONSOLE = 1
ifeq ($(platform), wii)
HAVE_LANGEXTRA := 1
#HAVE_LANGEXTRA := 1
HAVE_WIIUSB_HID := 1
HAVE_RARCH_EXEC := 1
HAVE_RSOUND := 1
@@ -250,7 +250,7 @@ else ifeq ($(platform), psp1)
HAVE_RBMP := 1
HAVE_RTGA := 1
HAVE_KERNEL_PRX := 1
HAVE_LANGEXTRA := 1
#HAVE_LANGEXTRA := 1
RARCH_CONSOLE = 1
ifeq ($(BUILD_PRX), 1)
@@ -320,6 +320,7 @@ else ifeq ($(platform), windows_msvc6_x86)
HAVE_7ZIP := 1
HAVE_NETWORKING := 0
HAVE_NETWORK_CMD := 1
HAVE_NETPLAYDISCOVERY := 1
HAVE_OVERLAY := 1
HAVE_MATERIALUI := 1
HAVE_XMB := 1
@@ -361,6 +362,7 @@ else ifeq ($(platform), windows_msvc2003_x86)
HAVE_7ZIP := 1
HAVE_NETWORKING := 1
HAVE_NETWORK_CMD := 1
HAVE_NETPLAYDISCOVERY := 1
HAVE_OVERLAY := 1
HAVE_MATERIALUI := 1
HAVE_XMB := 1
@@ -407,6 +409,7 @@ else ifeq ($(platform), windows_msvc2005_x86)
HAVE_7ZIP := 1
HAVE_NETWORKING := 1
HAVE_NETWORK_CMD := 1
HAVE_NETPLAYDISCOVERY := 1
HAVE_OVERLAY := 1
HAVE_MATERIALUI := 1
HAVE_XMB := 1
@@ -427,8 +430,8 @@ else ifeq ($(platform), windows_msvc2005_x86)
CXX = cl.exe
LD = link.exe
PLATCFLAGS += -D_WIN32 -D_WIN32_WINNT=0x0410 -D__STDC_CONSTANT_MACROS -D_MBCS
LDFLAGS += shell32.lib user32.lib gdi32.lib comdlg32.lib winmm.lib ole32.lib
PLATCFLAGS += -D_WIN32 -D_WIN32_WINNT=0x0410 -D__STDC_CONSTANT_MACROS -D_MBCS -DHAVE_EASTEREGG
LDFLAGS += shell32.lib user32.lib gdi32.lib comdlg32.lib winmm.lib ole32.lib msimg32.lib
PATH := $(shell IFS=$$'\n'; cygpath "$(VS80COMNTOOLS)../../VC/bin"):$(PATH)
PATH := $(PATH):$(shell IFS=$$'\n'; cygpath "$(VS80COMNTOOLS)../IDE")
@@ -454,6 +457,7 @@ else ifneq (,$(findstring windows_msvc2010,$(platform)))
HAVE_7ZIP := 1
HAVE_NETWORKING := 1
HAVE_NETWORK_CMD := 1
HAVE_NETPLAYDISCOVERY := 1
HAVE_OVERLAY := 1
HAVE_MATERIALUI := 1
HAVE_XMB := 1
@@ -475,7 +479,7 @@ else ifneq (,$(findstring windows_msvc2010,$(platform)))
LD = link.exe
PLATCFLAGS += -D_WIN32 -D__STDC_CONSTANT_MACROS -D_MBCS
PLATCFLAGS += -D__i686__ -D__SSE__ -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DHAVE_CC_RESAMPLER -DHAVE_GL_SYNC -DHAVE_GLSL -DHAVE_IMAGEVIEWER -DHAVE_LANGEXTRA -DHAVE_OPENGL -DHAVE_SHADERPIPELINE -DHAVE_UPDATE_ASSETS -DWIN32
PLATCFLAGS += -D__i686__ -D__SSE__ -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DHAVE_CC_RESAMPLER -DHAVE_GL_SYNC -DHAVE_GLSL -DHAVE_IMAGEVIEWER -DHAVE_LANGEXTRA -DHAVE_OPENGL -DHAVE_SHADERPIPELINE -DHAVE_UPDATE_ASSETS -DWIN32 -DHAVE_EASTEREGG
LDFLAGS += shell32.lib user32.lib gdi32.lib comdlg32.lib winmm.lib ole32.lib iphlpapi.lib
PlatformSuffix = $(subst windows_msvc2010_,,$(platform))
@@ -524,6 +528,7 @@ else ifneq (,$(findstring windows_msvc2012,$(platform)))
HAVE_7ZIP := 1
HAVE_NETWORKING := 1
HAVE_NETWORK_CMD := 1
HAVE_NETPLAYDISCOVERY := 1
HAVE_OVERLAY := 1
HAVE_MATERIALUI := 1
HAVE_XMB := 1
@@ -545,7 +550,7 @@ else ifneq (,$(findstring windows_msvc2012,$(platform)))
LD = link.exe
PLATCFLAGS += -D_WIN32 -D__STDC_CONSTANT_MACROS -D_MBCS
PLATCFLAGS += -D__i686__ -D__SSE__ -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DHAVE_CC_RESAMPLER -DHAVE_GL_SYNC -DHAVE_GLSL -DHAVE_IMAGEVIEWER -DHAVE_LANGEXTRA -DHAVE_OPENGL -DHAVE_SHADERPIPELINE -DHAVE_UPDATE_ASSETS -DWIN32
PLATCFLAGS += -D__i686__ -D__SSE__ -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DHAVE_CC_RESAMPLER -DHAVE_GL_SYNC -DHAVE_GLSL -DHAVE_IMAGEVIEWER -DHAVE_LANGEXTRA -DHAVE_OPENGL -DHAVE_SHADERPIPELINE -DHAVE_UPDATE_ASSETS -DWIN32 -DHAVE_EASTEREGG
LDFLAGS += shell32.lib user32.lib gdi32.lib comdlg32.lib winmm.lib ole32.lib iphlpapi.lib
PlatformSuffix = $(subst windows_msvc2012_,,$(platform))
@@ -598,6 +603,7 @@ else ifneq (,$(findstring windows_msvc2013,$(platform)))
HAVE_7ZIP := 1
HAVE_NETWORKING := 1
HAVE_NETWORK_CMD := 1
HAVE_NETPLAYDISCOVERY := 1
HAVE_OVERLAY := 1
HAVE_MATERIALUI := 1
HAVE_XMB := 1
@@ -619,7 +625,7 @@ else ifneq (,$(findstring windows_msvc2013,$(platform)))
LD = link.exe
PLATCFLAGS += -D_WIN32 -D__STDC_CONSTANT_MACROS -D_MBCS
PLATCFLAGS += -D__i686__ -D__SSE__ -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DHAVE_CC_RESAMPLER -DHAVE_GL_SYNC -DHAVE_GLSL -DHAVE_IMAGEVIEWER -DHAVE_LANGEXTRA -DHAVE_OPENGL -DHAVE_SHADERPIPELINE -DHAVE_UPDATE_ASSETS -DWIN32
PLATCFLAGS += -D__i686__ -D__SSE__ -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DHAVE_CC_RESAMPLER -DHAVE_GL_SYNC -DHAVE_GLSL -DHAVE_IMAGEVIEWER -DHAVE_LANGEXTRA -DHAVE_OPENGL -DHAVE_SHADERPIPELINE -DHAVE_UPDATE_ASSETS -DWIN32 -DHAVE_EASTEREGG
LDFLAGS += shell32.lib user32.lib gdi32.lib comdlg32.lib winmm.lib ole32.lib iphlpapi.lib
PlatformSuffix = $(subst windows_msvc2013_,,$(platform))
@@ -672,6 +678,7 @@ else ifneq (,$(findstring windows_msvc2015,$(platform)))
HAVE_7ZIP := 1
HAVE_NETWORKING := 1
HAVE_NETWORK_CMD := 1
HAVE_NETPLAYDISCOVERY := 1
HAVE_OVERLAY := 1
HAVE_MATERIALUI := 1
HAVE_XMB := 1
@@ -693,7 +700,7 @@ else ifneq (,$(findstring windows_msvc2015,$(platform)))
LD = link.exe
PLATCFLAGS += -D_WIN32 -D__STDC_CONSTANT_MACROS -D_MBCS
PLATCFLAGS += -D__i686__ -D__SSE__ -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DHAVE_CC_RESAMPLER -DHAVE_GL_SYNC -DHAVE_GLSL -DHAVE_IMAGEVIEWER -DHAVE_LANGEXTRA -DHAVE_OPENGL -DHAVE_SHADERPIPELINE -DHAVE_UPDATE_ASSETS -DWIN32
PLATCFLAGS += -D__i686__ -D__SSE__ -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DHAVE_CC_RESAMPLER -DHAVE_GL_SYNC -DHAVE_GLSL -DHAVE_IMAGEVIEWER -DHAVE_LANGEXTRA -DHAVE_OPENGL -DHAVE_SHADERPIPELINE -DHAVE_UPDATE_ASSETS -DWIN32 -DHAVE_EASTEREGG
LDFLAGS += shell32.lib user32.lib gdi32.lib comdlg32.lib winmm.lib ole32.lib iphlpapi.lib
PlatformSuffix = $(subst windows_msvc2015_,,$(platform))
@@ -857,6 +864,10 @@ ifeq ($(HAVE_NETWORKING), 1)
CFLAGS += -DHAVE_NETWORKING
endif
ifeq ($(HAVE_NETPLAYDISCOVERY), 1)
CFLAGS += -DHAVE_NETPLAYDISCOVERY
endif
ifeq ($(RARCH_CONSOLE), 1)
CFLAGS += -DRARCH_CONSOLE
endif
@@ -1063,7 +1074,6 @@ overlays-checkout:
$(GIT) clone git://github.com/libretro/common-overlays.git $(OVERLAY_DIR); \
fi
clean:
rm -f $(EXT_TARGET)
rm -f $(EXT_INTER_TARGET)
+259
View File
@@ -0,0 +1,259 @@
include version.all
#---------------------------------------------------------------------------------
.SUFFIXES:
#---------------------------------------------------------------------------------
ifeq ($(strip $(DEVKITPRO)),)
$(error "Please set DEVKITPRO in your environment. export DEVKITPRO=<path to>/devkitpro")
endif
TOPDIR ?= $(CURDIR)
include $(DEVKITPRO)/libnx/switch_rules
TARGET := retroarch_switch
DEBUG ?= 0
WHOLE_ARCHIVE_LINK = 0
GRIFFIN_BUILD = 0
OBJ :=
# For threading we need to overwrite some vars with global defines because devkitPro's includes
# make it hard for us. This works for the pthread wrapper
DEFINES_THREAD := -Dpthread_t=Thread -Dpthread_mutex_t=Mutex -Dpthread_mutexattr_t='void*' -Dpthread_attr_t=int -Dpthread_cond_t=CondVar -Dpthread_condattr_t='int' -D_SYS__PTHREADTYPES_H_
DEFINES := -D__SWITCH__=1 -U__linux__ -U__linux -DGLM_FORCE_PURE=1 -DRARCH_CONSOLE -DRARCH_INTERNAL -DGLOBAL_CONFIG_DIR='"/switch"' $(DEFINES_THREAD) -DHAVE_STB_VORBIS
HAVE_CC_RESAMPLER = 1
HAVE_MENU_COMMON = 1
HAVE_RTGA = 1
HAVE_RPNG = 1
HAVE_RJPEG = 1
HAVE_RBMP = 1
HAVE_ZLIB = 1
HAVE_BUILTINZLIB = 1
HAVE_LIBRETRODB = 1
HAVE_STATIC_VIDEO_FILTERS = 1
HAVE_STATIC_AUDIO_FILTERS = 1
HAVE_MENU = 1
HAVE_RUNAHEAD = 1
HAVE_NETWORKING = 1
HAVE_NETPLAYDISCOVERY = 1
HAVE_STB_FONT = 1
HAVE_CHEEVOS = 1
HAVE_CHD = 0 # disabled due to static libretro-common and libchdr conflicts between different cores
HAVE_STB_VORBIS = 1
# RetroArch libnx useful flags
HAVE_THREADS = 1
HAVE_PTHREADS = 1
HAVE_FREETYPE = 0
HAVE_SWITCH = 1
HAVE_LIBNX = 1
HAVE_OPENGL = 1
HAVE_LANGEXTRA = 1
ifeq ($(HAVE_OPENGL), 1)
HAVE_EGL = 1
HAVE_SHADERPIPELINE = 1
HAVE_RGUI = 1
HAVE_MATERIALUI = 1
HAVE_XMB = 1
HAVE_OZONE = 1
HAVE_OVERLAY = 1
else
HAVE_RGUI = 1
HAVE_MATERIALUI = 0
HAVE_XMB = 0
HAVE_OZONE = 0
HAVE_STRIPES = 0
endif
include Makefile.common
BLACKLIST :=
OBJ := $(filter-out $(BLACKLIST),$(OBJ))
#---------------------------------------------------------------------------------
# TARGET is the name of the output
# BUILD is the directory where object files & intermediate files will be placed
# SOURCES is a list of directories containing source code
# DATA is a list of directories containing data files
# INCLUDES is a list of directories containing header files
# EXEFS_SRC is the optional input directory containing data copied into exefs, if anything this normally should only contain "main.npdm".
# ROMFS is the directory containing data to be added to RomFS, relative to the Makefile (Optional)
#
# NO_ICON: if set to anything, do not use icon.
# NO_NACP: if set to anything, no .nacp file is generated.
# APP_TITLE is the name of the app stored in the .nacp file (Optional)
# APP_AUTHOR is the author of the app stored in the .nacp file (Optional)
# APP_VERSION is the version of the app stored in the .nacp file (Optional)
# APP_TITLEID is the titleID of the app stored in the .nacp file (Optional)
# ICON is the filename of the icon (.jpg), relative to the project folder.
# If not set, it attempts to use one of the following (in this order):
# - <Project name>.jpg
# - icon.jpg
# - <libnx folder>/default_icon.jpg
#---------------------------------------------------------------------------------
BUILD := build
SOURCES := $(CURDIR)/source
DATA := data
INCLUDES := include
EXEFS_SRC := exefs_src
#ROMFS := switch/romfs
APP_TITLE := RetroArch
APP_VERSION := $(RARCH_VERSION)
APP_AUTHOR := libretro Team
APP_ICON := pkg/libnx/retroarch.jpg
#---------------------------------------------------------------------------------
# options for code generation
#---------------------------------------------------------------------------------
ARCH := -march=armv8-a -mtune=cortex-a57 -mtp=soft -fPIE -mcpu=cortex-a57+crc+fp+simd
CFLAGS := -g -Wall -O3 -ffast-math -ffunction-sections \
$(ARCH) $(DEFINES) -Ideps -Ideps/libz -Ilibretro-common/include -Ideps/stb -I$(LIBNX)/include -I$(PORTLIBS)/include/ -include $(LIBNX)/include/switch.h #$(shell $(PORTLIBS)/bin/freetype-config --cflags)
CFLAGS += $(INCLUDE) -DSWITCH=1 -DHAVE_LIBNX=1 -DNXLINK=1 -DHAVE_SHADERPIPELINE -DHAVE_UPDATE_ASSETS -DHAVE_STB_FONT #-DHAVE_FREETYPE
ifeq ($(strip $(HAVE_STATIC_DUMMY)),1)
CFLAGS += -DHAVE_STATIC_DUMMY=1
endif
# The following line works around an issue in newlib that produces a compilation
# error in glm. It will be removed as soon as this issue is resolved.
CFLAGS += -D_GLIBCXX_USE_C99_MATH_TR1 -D_LDBL_EQ_DBL
CXXFLAGS := $(CFLAGS) -fno-rtti -fno-exceptions -std=gnu++11
ASFLAGS := -g $(ARCH)
LDFLAGS = -specs=$(DEVKITPRO)/libnx/switch.specs $(ARCH) -Wl,--allow-multiple-definition -Wl,-Map,$(notdir $*.map)
LIBS := -lstdc++ -lbz2 -lpng -lz -lnx -lm
ifeq ($(HAVE_OPENGL), 1)
LIBS := -lEGL -lglapi -ldrm_nouveau $(LIBS)
endif
#---------------------------------------------------------------------------------
# list of directories containing libraries, this must be the top level containing
# include and lib
#---------------------------------------------------------------------------------
LIBDIRS := $(PORTLIBS) $(LIBNX)
#---------------------------------------------------------------------------------
# no real need to edit anything past this point unless you need to add additional
# rules for different file extensions
#---------------------------------------------------------------------------------
ifneq ($(BUILD),$(notdir $(CURDIR)))
#---------------------------------------------------------------------------------
export OUTPUT := $(TARGET)
export TOPDIR := $(CURDIR)
export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \
$(foreach dir,$(DATA),$(CURDIR)/$(dir))
export DEPSDIR := $(CURDIR)/
CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c)))
CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp)))
SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s)))
BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*)))
#---------------------------------------------------------------------------------
# use CXX for linking C++ projects, CC for standard C
#---------------------------------------------------------------------------------
ifeq ($(strip $(CPPFILES)),)
#---------------------------------------------------------------------------------
export LD := $(CC)
#---------------------------------------------------------------------------------
else
#---------------------------------------------------------------------------------
export LD := $(CXX)
#---------------------------------------------------------------------------------
endif
#---------------------------------------------------------------------------------
export OFILES := $(OBJ)
ifeq ($(strip $(HAVE_STATIC_DUMMY)),)
OFILES += libretro_libnx.a
endif
export HFILES_BIN := $(addsuffix .h,$(subst .,_,$(BINFILES)))
export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \
$(foreach dir,$(LIBDIRS),-I$(dir)/include) \
-I$(CURDIR)/$(BUILD)
export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib)
export BUILD_EXEFS_SRC := $(TOPDIR)/$(EXEFS_SRC)
ifeq ($(strip $(ICON)),)
icons := $(wildcard *.jpg)
ifneq (,$(findstring $(TARGET).jpg,$(icons)))
export APP_ICON := $(TOPDIR)/$(TARGET).jpg
else
ifneq (,$(findstring icon.jpg,$(icons)))
export APP_ICON := $(TOPDIR)/icon.jpg
endif
endif
else
export APP_ICON := $(TOPDIR)/$(ICON)
endif
ifeq ($(strip $(NO_ICON)),)
export NROFLAGS += --icon=$(APP_ICON)
endif
ifeq ($(strip $(NO_NACP)),)
export NROFLAGS += --nacp=$(CURDIR)/$(TARGET).nacp
endif
ifneq ($(APP_TITLEID),)
export NACPFLAGS += --titleid=$(APP_TITLEID)
endif
ifneq ($(ROMFS),)
export NROFLAGS += --romfsdir=$(CURDIR)/$(ROMFS)
endif
DEPENDS_TMP := $(OFILES:.o=.d)
DEPENDS := $(filter-out libretro_libnx.a,$(DEPENDS_TMP))
.PHONY: clean all
#---------------------------------------------------------------------------------
# main targets
#---------------------------------------------------------------------------------
all : $(OUTPUT).pfs0 $(OUTPUT).nro
$(OUTPUT).pfs0 : $(OUTPUT).nso
$(OUTPUT).nso : $(OUTPUT).elf
ifeq ($(strip $(NO_NACP)),)
$(OUTPUT).nro : $(OUTPUT).elf $(OUTPUT).nacp
else
$(OUTPUT).nro : $(OUTPUT).elf
endif
$(OUTPUT).elf : $(OBJ)
clean:
rm -f $(DEPENDS) $(OBJ) $(OUTPUT).pfs0 $(OUTPUT).nro $(OUTPUT).elf
#---------------------------------------------------------------------------------
# you need a rule like this for each extension you use as binary data
#---------------------------------------------------------------------------------
%.bin.o %_bin.h : %.bin
#---------------------------------------------------------------------------------
@echo $(notdir $<)
@$(bin2o)
#---------------------------------------------------------------------------------------
endif
#---------------------------------------------------------------------------------------
-4
View File
@@ -45,7 +45,6 @@ export CXX := $(PREFIX)g++
export AR := $(PREFIX)ar
export OBJCOPY := $(PREFIX)objcopy
ISVC=$(or $(VCBUILDHELPER_COMMAND),$(MSBUILDEXTENSIONSPATH32),$(MSBUILDEXTENSIONSPATH))
#---------------------------------------------------------------------------------
@@ -131,7 +130,6 @@ INCLUDES := $(DEFINCS) \
MACHDEP := -DBIGENDIAN -DGEKKO -mcpu=750 -meabi -msdata=eabi -mhard-float -ffunction-sections -fdata-sections
ifeq ($(PLATFORM),wii)
MACHDEP += -DHW_RVL
endif
@@ -159,7 +157,6 @@ VPATH := $(LWIPDIR) \
$(LIBWIIKEYB) \
$(STUBSDIR)
#---------------------------------------------------------------------------------
SOURCES_LWIP := $(LWIPDIR)/network.c \
$(LWIPDIR)/netio.c \
@@ -264,7 +261,6 @@ SOURCES_OGC_ASM := $(OGCDIR)/cache_asm.S \
$(OGCDIR)/system_asm.S \
$(OGCDIR)/video_asm.S
ifneq ($(BUILD_LITE), 1)
SOURCES_OGC += $(OGCDIR)/dvd.c
endif
+3 -11
View File
@@ -7,7 +7,6 @@ ARCH = amd64
BUILD_DIR = objs/msvc
CXX_BUILD = 0
WindowsSdkDir = C:\Program Files (x86)\Windows Kits\10\$(NOTHING)
WindowsSDKVersion := 10.0.14393.0\$(NOTHING)
VCINSTALLDIR := C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\$(NOTHING)
@@ -25,10 +24,12 @@ HAVE_XAUDIO := 1
HAVE_XINPUT := 1
HAVE_WASAPI := 0
HAVE_THREAD_STORAGE := 1
HAVE_WINMM := 1
HAVE_RPNG := 1
HAVE_ZLIB := 1
WANT_ZLIB := 1
HAVE_MENU := 1
HAVE_RGUI := 1
HAVE_XMB := 1
HAVE_MATERIALUI := 1
@@ -58,7 +59,7 @@ HAVE_IMAGEVIEWER := 1
include Makefile.common
INCLUDE_DIRS := $(patsubst -isystem%,-I%,$(INCLUDE_DIRS))
CFLAGS := $(filter-out -Wno-unknown-pragmas,$(CFLAGS))
CFLAGS := $(filter-out -Wno-unknown-pragmas,$(DEF_FLAGS))
CXXFLAGS := $(filter-out -fpermissive -Wno-switch -Wno-sign-compare -fno-strict-aliasing -Wno-maybe-uninitialized -Wno-reorder -Wno-parentheses,$(CXXFLAGS))
LIBS := $(filter-out -lstdc++,$(LIBS))
@@ -89,14 +90,12 @@ ifeq ($(ARCH),x86)
CROSS =
endif
INCLUDE := $(VCINSTALLDIR)include;$(VCINSTALLDIR)atlmfc\include;$(WindowsSdkDir)include\$(WindowsSDKVersion)ucrt;$(WindowsSdkDir)include\$(WindowsSDKVersion)shared;$(WindowsSdkDir)include\$(WindowsSDKVersion)um;
LIB := $(VCINSTALLDIR)LIB\$(CROSS);$(VCINSTALLDIR)atlmfc\lib\$(CROSS);$(WindowsSdkDir)lib\$(WindowsSDKVersion)ucrt\$(TARGET_ARCH2);$(WindowsSdkDir)lib\$(WindowsSDKVersion)um\$(TARGET_ARCH2);C:\Program Files (x86)\NVIDIA Corporation\Cg\lib.$(TARGET_ARCH2);C:\Program Files (x86)\Microsoft DirectX SDK (February 2010)\Lib\$(TARGET_ARCH2);
LIBPATH := $(VCINSTALLDIR)LIB\$(CROSS);$(VCINSTALLDIR)atlmfc\lib\$(CROSS);
PATH := $(shell IFS=$$'\n'; cygpath "$(VCINSTALLDIR)bin\\$(CROSS)"):$(shell IFS=$$'\n'; cygpath "$(WindowsSdkDir)\bin\\$(ARCH2)"):$(PATH)
export INCLUDE := $(INCLUDE)
export LIB := $(LIB)
export LIBPATH := $(LIBPATH)
@@ -143,7 +142,6 @@ RC = rc.exe
LIBS += shell32.lib user32.lib gdi32.lib comdlg32.lib winmm.lib ole32.lib
LDFLAGS += -nologo -wx -nxcompat -machine:$(TARGET_ARCH2)
ifeq ($(DEBUG),1)
FLAGS += -GS -Gy -Od -RTC1 -D_SECURE_SCL=1 -Zi
FLAGS += -MDd
@@ -154,7 +152,6 @@ else
FLAGS += -MD
endif
ifeq ($(DEBUG),1)
BUILD_DIR := $(BUILD_DIR)-debug
endif
@@ -169,7 +166,6 @@ ifneq ($(V), 1)
Q := @
endif
ifeq ($(GRIFFIN_BUILD), 1)
OBJ := griffin/griffin.o griffin/griffin_cpp.o
DEFINES += -DHAVE_GRIFFIN -DUSE_MATH_DEFINES
@@ -187,9 +183,6 @@ OBJ := $(patsubst %rarch.o,%rarch.res,$(OBJ))
OBJ := $(addprefix $(BUILD_DIR)/,$(OBJ))
OBJ := $(OBJ:.o=.obj)
LDFLAGS += -WX -SUBSYSTEM:WINDOWS -ENTRY:mainCRTStartup
DEFINES := $(patsubst -f%,,$(DEFINES))
@@ -197,7 +190,6 @@ LDFLAGS := $(patsubst -l%,%.lib,$(LDFLAGS))
LIBS := $(filter-out -lm,$(LIBS))
LIBS := $(patsubst -l%,%.lib,$(LIBS))
#$(info INCLUDE_DIRS : $(INCLUDE_DIRS))
#$(info DEFINES : $(DEFINES))
#$(info CFLAGS : $(CFLAGS))
+166
View File
@@ -0,0 +1,166 @@
TARGET := retroarch_orbis
DEBUG ?= 0
GRIFFIN_BUILD = 0
WHOLE_ARCHIVE_LINK = 0
PS4_TITLE_ID := RETROARCH
PS4_TITLE_NAME := RetroArch
PC_DEVELOPMENT_IP_ADDRESS =
PC_DEVELOPMENT_UDP_PORT =
OBJ :=
DEFINES :=
ifeq ($(GRIFFIN_BUILD), 1)
OBJ += griffin/griffin.o
DEFINES += -DHAVE_GRIFFIN=1
DEFINES += -DHAVE_MENU -DHAVE_LIBRETRODB
DEFINES += -DHAVE_ZLIB -DHAVE_RPNG -DHAVE_RJPEG -DHAVE_RBMP -DHAVE_RTGA -DWANT_ZLIB -DHAVE_CC_RESAMPLER
ifeq ($(DEBUG), 1)
DEFINES += -DHAVE_NETLOGGER
endif
else
HAVE_FILTERS_BUILTIN := 1
HAVE_LANGEXTRA := 0
HAVE_RPNG := 1
HAVE_RJPEG := 1
HAVE_RBMP := 1
HAVE_RTGA := 1
HAVE_ZLIB := 1
HAVE_OVERLAY := 1
HAVE_7ZIP := 1
HAVE_EGL := 1
HAVE_OPENGLES := 1
HAVE_NETWORKING := 0
HAVE_SOCKET_LEGACY := 0
HAVE_MENU := 1
HAVE_MENU_COMMON := 1
HAVE_RGUI := 0
HAVE_MATERIALUI := 0
HAVE_XMB := 1
HAVE_THREADS := 1
HAVE_LIBRETRODB := 1
HAVE_CC_RESAMPLER := 1
HAVE_CHEEVOS := 1
RARCH_CONSOLE := 1
HAVE_STATIC_VIDEO_FILTERS = 1
HAVE_STATIC_AUDIO_FILTERS = 1
ifeq ($(DEBUG), 1)
HAVE_NETLOGGER = 1
endif
include Makefile.common
CFLAGS += $(DEF_FLAGS)
BLACKLIST :=
OBJ := $(filter-out $(BLACKLIST),$(OBJ))
OBJ += input/drivers/ps4_input.o
OBJ += input/drivers_joypad/ps4_joypad.o
OBJ += audio/drivers/psp_audio.o
#OBJ += frontend/drivers/platform_orbis.o
endif
ifeq ($(strip $(PS4SDK)),)
$(error "Please set PS4SDK in your environment. export PS4SDK=<path to>ps4sdk")
endif
export PATH := $(PATH):$(PS4SDK)/bin
PREFIX :=
CC := $(PREFIX)clang
CXX := $(PREFIX)clang
AS := $(PREFIX)clang
AR := $(PREFIX)ar
OBJCOPY := $(PREFIX)objcopy
STRIP := $(PREFIX)strip
NM := $(PREFIX)nm
LD := $(CXX)
INCDIRS := -I. -Ideps/libz -Ideps/7zip -Ilibretro-common/include -Ideps/stb
LIBDIRS := -L.
ARCHFLAGS := -m64 -DORBIS
CFLAGS += $(ARCHFLAGS) -std=c11 -mcmodel=large -ffreestanding -nostdlib -nostdinc -fno-builtin -fno-stack-protector
ifeq ($(DEBUG), 1)
CFLAGS += -O2 -g
else
CFLAGS += -O3
endif
ASFLAGS := $(ARCHFLAGS) -I$(PS4SDK)/include -target x86_64-scei-ps4-elf -fPIE
LDFLAGS := -O3 -Wall -m64 -nostartfiles -nostdlib -L$(PS4SDK)/lib -pie
ARFLAGS := rcs
CRTFILE ?= $(PS4SDK)/crt0.s
CFLAGS += -Wall -pedantic -Wno-zero-length-array -Wno-format-pedantic
CFLAGS += -D__PS4__ -I$(PS4SDK)/include -I $(PS4SDK)/include/sce
CFLAGS += -target x86_64-scei-ps4-elf -fPIE
CFLAGS += -DRARCH_INTERNAL -DRARCH_CONSOLE
CFLAGS += -DHAVE_FILTERS_BUILTIN $(DEFINES)
ifneq ($(PC_DEVELOPMENT_IP_ADDRESS),)
CFLAGS += -DPC_DEVELOPMENT_IP_ADDRESS='"$(PC_DEVELOPMENT_IP_ADDRESS)"'
endif
ifneq ($(PC_DEVELOPMENT_UDP_PORT),)
CFLAGS += -DPC_DEVELOPMENT_UDP_PORT=$(PC_DEVELOPMENT_UDP_PORT)
endif
ifeq ($(WHOLE_ARCHIVE_LINK), 1)
WHOLE_START := -Wl,--whole-archive
WHOLE_END := -Wl,--no-whole-archive
endif
CXXFLAGS := $(CFLAGS)
PS4_LIBS := -lps4link -ldebugnet -lorbisFile -lelfloader -lorbisKeyboard -lorbis2d -lpng -lz -lorbisGl -lorbisPad -lorbisAudio -lmod -lorbisFileBrowser -lorbisXbmFont -lSceNet_stub -lScePigletv2VSH_stub -lSceSystemService_stub -lSceUserService_stub -lScePad_stub -lSceAudioOut_stub -lSceIme_stub -lSceSysmodule_stub \
-lPs4_extension_kernel_call_standard -lPs4_extension_kernel_execute_dynlib_prepare_dlclose -lPs4_common_kernel -lPs4_common_user -lPs4_common_generic -lPs4LibCInternalAdaptive_stub -lPs4LibKernelAdaptive_stub -lSceLibcInternal_stub -lkernel_stub -lps4Kernel_stub -lPs4_base_stub_resolve_minimal -lPs4_base_kernel_dlsym_standard -lPs4_base_kernel_seek_elf_address_standard -lPs4_base_assembler_register_parameter_standard -lPs4_base_assembler_system_call_standard
LIBS := $(WHOLE_START) -lretro_orbis $(WHOLE_END) $(PS4_LIBS)
TARGETS := $(TARGET).elf
DEPFLAGS = -MT $@ -MMD -MP -MF $*.Tdepend
POSTCOMPILE = mv -f $*.Tdepend $*.depend
all: $(TARGETS)
%.o: %.cpp
%.o: %.cpp %.depend
$(CXX) -c -o $@ $< $(CXXFLAGS) $(INCDIRS) $(DEPFLAGS)
$(POSTCOMPILE)
%.o: %.c
%.o: %.c %.depend
$(CC) -c -o $@ $< $(CFLAGS) $(INCDIRS) $(DEPFLAGS)
$(POSTCOMPILE)
%.o: %.S
%.o: %.S %.depend
$(CC) -c -o $@ $< $(ASFLAGS) $(INCDIRS) $(DEPFLAGS)
$(POSTCOMPILE)
%.o: %.s
%.o: %.s %.depend
$(CC) -c -o $@ $< $(ASFLAGS) $(INCDIRS) $(DEPFLAGS)
$(POSTCOMPILE)
%.depend: ;
$(TARGET).elf: $(OBJ) libretro_orbis.a
$(LD) $(CRTFILE) $(OBJ) $(LDFLAGS) $(LIBDIRS) $(LIBS) -o $@
clean:
rm -f $(OBJ) $(TARGET).elf
rm -f $(OBJ:.o=.depend)
.PHONY: clean all
.PRECIOUS: %.depend
-include $(OBJ:.o=.depend)
-1
View File
@@ -52,4 +52,3 @@ clean:
rm -f $(BINDIR)/retroarch-joyconfig
rm -f $(PNDDIR)/readme.html
rm -f retroarch
+114
View File
@@ -0,0 +1,114 @@
BUILD_PRX = 0
DEBUG = 0
HAVE_KERNEL_PRX = 0
HAVE_LOGGER = 0
HAVE_FILE_LOGGER = 0
HAVE_THREADS = 0
BIG_STACK = 0
MUTE_WARNINGS = 0
PS2_IP = 192.168.1.150
#Configuration for IRX
EE_BIN2O = bin2o
IRX_DIR = $(PS2SDK)/iop/irx
TARGET = retroarchps2.elf
TARGET_RELEASE = retroarchps2-release.elf
ifeq ($(DEBUG), 1)
OPTIMIZE_LV := -O0 -g
RARCH_DEFINES += -DDEBUG
else
OPTIMIZE_LV := -O2
LDFLAGS := -s
endif
ifeq ($(MUTE_WARNINGS), 1)
DISABLE_WARNINGS := -Wno-sign-compare -Wno-unused -Wno-parentheses
endif
INCDIR = -I$(PS2DEV)/gsKit/include -I$(PS2SDK)/ports/include
INCDIR += -Ips2 -Ips2/include -Ilibretro-common/include
INCDIR += -Ideps -Ideps/stb -Ideps/libz -Ideps/7zip -Ideps/pthreads -Ideps/pthreads/platform/ps2 -Ideps/pthreads/platform/helper
GPVAL = -G0
CFLAGS = $(OPTIMIZE_LV) $(DISABLE_WARNINGS) -ffast-math -fsingle-precision-constant
ASFLAGS = $(CFLAGS)
RARCH_DEFINES += -DPS2 -DUSE_IOP_CTYPE_MACRO -D_MIPS_ARCH_R5900 -DHAVE_ZLIB -DHAVE_RPNG -DHAVE_RJPEG -DWANT_ZLIB
RARCH_DEFINES += -DHAVE_GRIFFIN=1 -DRARCH_INTERNAL -DRARCH_CONSOLE -DHAVE_MENU -DHAVE_RGUI -DHAVE_FILTERS_BUILTIN -DHAVE_7ZIP -DHAVE_CC_RESAMPLER
LIBDIR =
LDFLAGS += -L$(PS2SDK)/ports/lib -L$(PS2DEV)/gsKit/lib -L$(PS2SDK)/ee/lib -L.
LIBS += -lretro_ps2 -lgskit -ldmakit -lgskit_toolkit -laudsrv -lpad -lmc -lhdd -lsdl -lfileXio -lpatches -lpoweroff
#IRX modules
# IRX modules - modules have to be in IRX_DIR
IRX = iomanX.irx fileXio.irx mcman.irx mcserv.irx usbd.irx usbhdfsd.irx freesd.irx audsrv.irx poweroff.irx ps2dev9.irx ps2atad.irx ps2hdd.irx ps2fs.irx
IRX_OBJ = $(IRX:.irx=.o)
EE_OBJS += $(IRX_OBJ)
ifeq ($(HAVE_THREADS), 1)
RARCH_DEFINES += -DHAVE_THREADS
endif
ifeq ($(HAVE_FILE_LOGGER), 1)
CFLAGS += -DHAVE_FILE_LOGGER
endif
ifeq ($(HAVE_KERNEL_PRX), 1)
CFLAGS += -DHAVE_KERNEL_PRX
endif
ifeq ($(BIG_STACK), 1)
CFLAGS += -DBIG_STACK
endif
CFLAGS += $(RARCH_DEFINES)
# Missing objecst on the PS2SDK
EE_OBJS += ps2/compat_files/compat_ctype.o ps2/compat_files/time.o
#EE_OBJS = griffin/griffin.o bootstrap/ps2/kernel_functions.o
EE_OBJS += griffin/griffin.o
EE_CFLAGS = $(CFLAGS)
EE_CXXFLAGS = $(CFLAGS)
EE_LDFLAGS = $(LDFLAGS)
EE_LIBS = $(LIBS)
EE_ASFLAGS = $(ASFLAGS)
EE_INCS = $(INCDIR)
EE_IRX_OBJ = $(IRX_OBJ)
EE_BIN = $(TARGET)
EE_GPVAL = $(GPVAL)
all: $(EE_IRX_OBJ) $(EE_BIN)
clean:
rm -f $(EE_BIN) $(EE_OBJS)
prepare:
ps2client -h $(PS2_IP) reset
ps2client -h $(PS2_IP) netdump
run:
ps2client -h $(PS2_IP) execee host:$(EE_BIN)
debug: clean prepare all run
package:
ps2-packer $(EE_BIN) $(TARGET_RELEASE)
release: clean all package
#Specific file name and output per IRX Module
$(EE_IRX_OBJ):
$(EE_BIN2O) $(EE_GPVAL) $(IRX_DIR)/$(@:.o=.irx) $@ $(@:.o=_irx)
#Include preferences
include $(PS2SDK)/samples/Makefile.pref
include $(PS2SDK)/samples/Makefile.eeglobal
#Linking with C++
$(EE_BIN): $(EE_OBJS) $(PS2SDK)/ee/startup/crt0.o
$(EE_CXX) $(EE_NO_CRT) -T$(PS2SDK)/ee/startup/linkfile $(EE_CXXFLAGS) \
-o $(EE_BIN) $(PS2SDK)/ee/startup/crt0.o $(CRTI_OBJ) $(CRTBEGIN_OBJ) $(EE_OBJS) $(CRTEND_OBJ) $(CRTN_OBJ) $(EE_LDFLAGS) $(EE_LIBS)
+2 -2
View File
@@ -63,7 +63,7 @@ endif
PPU_SRCS = griffin/griffin.c
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 -DHAVE_STB_FONT -DHAVE_RUNAHEAD
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 -DHAVE_STB_FONT -DHAVE_RUNAHEAD -DHAVE_DR_MP3 -DHAVE_DR_FLAC
ifeq ($(DEX_BUILD), 1)
DEFINES += -DDEX_BUILD
@@ -112,7 +112,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_HEADSET -DHAVE_LANGEXTRA -DHAVE_OPENGLES -DHAVE_OPENGLES1 -DHAVE_PSGL -DHAVE_CG -DHAVE_CG_RUNTIME_COMPILER -DHAVE_SYSMODULES -DHAVE_SYSUTILS -DHAVE_RARCH_EXEC -DHAVE_RSOUND -DHAVE_ZLIB -DHAVE_RPNG -DHAVE_RJPEG -DHAVE_RBMP -DHAVE_RTGA -DHAVE_7Z -DWANT_ZLIB -D__CELLOS_LV2__ -DHAVE_NETWORKING=1 -DHAVE_SOCKET_LEGACY=1 -DHAVE_MOUSE -DHAVE_GRIFFIN=1 -DHAVE_MULTIMAN=1 -DPC_DEVELOPMENT_IP_ADDRESS=\"$(PC_DEVELOPMENT_IP_ADDRESS)\" -DPC_DEVELOPMENT_UDP_PORT=$(PC_DEVELOPMENT_UDP_PORT) -DHAVE_FILTERS_BUILTIN -DHAVE_CHEEVOS
DEFINES += -DHAVE_THREADS -DRARCH_CONSOLE -DHAVE_OPENGL -DHAVE_HEADSET -DHAVE_LANGEXTRA -DHAVE_OPENGLES -DHAVE_OPENGLES1 -DHAVE_PSGL -DHAVE_CG -DHAVE_CG_RUNTIME_COMPILER -DHAVE_SYSMODULES -DHAVE_SYSUTILS -DHAVE_RARCH_EXEC -DHAVE_RSOUND -DHAVE_ZLIB -DHAVE_RPNG -DHAVE_RJPEG -DHAVE_RBMP -DHAVE_RTGA -DHAVE_7Z -DWANT_ZLIB -D__CELLOS_LV2__ -DHAVE_NETWORKING=1 -DHAVE_SOCKET_LEGACY=1 -DHAVE_MOUSE -DHAVE_GRIFFIN=1 -DHAVE_MULTIMAN=1 -DPC_DEVELOPMENT_IP_ADDRESS=\"$(PC_DEVELOPMENT_IP_ADDRESS)\" -DPC_DEVELOPMENT_UDP_PORT=$(PC_DEVELOPMENT_UDP_PORT) -DHAVE_FILTERS_BUILTIN -DHAVE_CHEEVOS -DRC_DISABLE_LUA
#DEFINES += -DHAVE_IMAGEVIEWER
+1
View File
@@ -55,6 +55,7 @@ PPU_SRCS = frontend/frontend_salamander.c \
libretro-common/encodings/encoding_utf.c \
libretro-common/compat/compat_strl.c \
libretro-common/compat/compat_strcasestr.c \
libretro-common/compat/fopen_utf8.c \
libretro-common/streams/file_stream.c \
libretro-common/vfs/vfs_implementation.c \
libretro-common/file/config_file.c \
-1
View File
@@ -128,4 +128,3 @@ clean:
rm -f $(OBJ)
.PHONY: clean
+2 -3
View File
@@ -13,7 +13,7 @@ TARGET = retroarchpsp
ifeq ($(DEBUG), 1)
OPTIMIZE_LV := -O0 -g
else
OPTIMIZE_LV := -O2
OPTIMIZE_LV := -O3
endif
ifeq ($(WHOLE_ARCHIVE_LINK), 1)
@@ -22,7 +22,7 @@ ifeq ($(WHOLE_ARCHIVE_LINK), 1)
endif
INCDIR = deps deps/stb deps/libz deps/7zip deps/pthreads deps/pthreads/platform/psp deps/pthreads/platform/helper libretro-common/include
CFLAGS = $(OPTIMIZE_LV) -G0 -std=gnu99 -ffast-math
CFLAGS = $(OPTIMIZE_LV) -G0 -std=gnu99 -ffast-math -fsingle-precision-constant
ASFLAGS = $(CFLAGS)
RARCH_DEFINES = -DPSP -D_MIPS_ARCH_ALLEGREX -DHAVE_LANGEXTRA -DHAVE_ZLIB -DHAVE_RPNG -DHAVE_RJPEG -DWANT_ZLIB -DHAVE_GRIFFIN=1 -DRARCH_INTERNAL -DRARCH_CONSOLE -DHAVE_MENU -DHAVE_RGUI -DHAVE_FILTERS_BUILTIN -DHAVE_7ZIP -DHAVE_CC_RESAMPLER
@@ -49,7 +49,6 @@ endif
CFLAGS += $(RARCH_DEFINES)
EXTRA_TARGETS = EBOOT.PBP
PSP_EBOOT_TITLE = RetroArch PSP1
+1
View File
@@ -42,6 +42,7 @@ OBJS = frontend/frontend_salamander.o \
libretro-common/lists/dir_list.o \
libretro-common/file/retro_dirent.o \
libretro-common/encodings/encoding_utf.o \
libretro-common/compat/fopen_utf8.o \
libretro-common/compat/compat_strl.o \
libretro-common/compat/compat_strcasestr.o \
libretro-common/file/config_file.o \
+9 -9
View File
@@ -6,13 +6,13 @@ WHOLE_ARCHIVE_LINK = 0
OBJ :=
DEFINES := -DSWITCH=1 -U__linux__ -U__linux
DEFINES := -DSWITCH=1 -U__linux__ -U__linux -DRARCH_INTERNAL -DHAVE_DYNAMIC
ifeq ($(GRIFFIN_BUILD), 1)
OBJ += griffin/griffin.o
DEFINES += -DHAVE_GRIFFIN=1 -DHAVE_NEON -DHAVE_MATERIALUI -DHAVE_LIBRETRODB -DHAVE_CC_RESAMPLER
DEFINES += -DHAVE_ZLIB -DHAVE_RPNG -DHAVE_RJPEG -DHAVE_RBMP -DHAVE_RTGA -DWANT_ZLIB
DEFINES += -DHAVE_RUNAHEAD
DEFINES += -DHAVE_RUNAHEAD -DHAVE_DYNAMIC
else
HAVE_CC_RESAMPLER = 1
HAVE_MENU_COMMON = 1
@@ -24,34 +24,34 @@ else
HAVE_ZLIB = 1
HAVE_BUILTINZLIB = 1
HAVE_LIBRETRODB = 1
HAVE_ZARCH = 0
HAVE_MATERIALUI = 0 # enable later?
HAVE_XMB = 0
HAVE_STATIC_VIDEO_FILTERS = 1
HAVE_STATIC_AUDIO_FILTERS = 1
HAVE_MENU = 1
HAVE_RUNAHEAD = 1
HAVE_DYNAMIC = 1
include Makefile.common
BLACKLIST :=
CFLAGS += $(DEF_FLAGS)
BLACKLIST :=
BLACKLIST += input/input_overlay.o
BLACKLIST += tasks/task_overlay.o
BLACKLIST += tasks/task_overlay.o
OBJ := $(filter-out $(BLACKLIST),$(OBJ))
endif
ifeq ($(strip $(LIBTRANSISTOR_HOME)),)
$(error "Please set LIBTRANSISTOR_HOME in your environment. export LIBTRANSISTOR_HOME=<path t>o libtransistor")
$(error "Please set LIBTRANSISTOR_HOME in your environment. export LIBTRANSISTOR_HOME=<path/to/libtransistor/dist/>")
endif
include $(LIBTRANSISTOR_HOME)/libtransistor.mk
INCDIRS := -I. -Ideps/libz -Ilibretro-common/include -Ideps/stb -I$(LIBTRANSISTOR_HOME)/build/sdl2_install/include/SDL2/
INCDIRS := -I. -Ideps -Ideps/libz -Ilibretro-common/include -Ideps/stb -I$(LIBTRANSISTOR_HOME)/build/sdl2_install/include/SDL2/
LIBDIRS := -L.
TARGETS := $(TARGET).nro
CFLAGS += $(INCDIRS) $(DEFINES) -Wunused-command-line-argument
CFLAGS += $(INCDIRS) $(DEFINES) -Wno-unused-command-line-argument -Werror-implicit-function-declaration
all: $(TARGETS)
+1 -3
View File
@@ -55,6 +55,7 @@ else
endif
include Makefile.common
CFLAGS += $(DEF_FLAGS)
BLACKLIST :=
OBJ := $(filter-out $(BLACKLIST),$(OBJ))
@@ -64,7 +65,6 @@ else
OBJ += frontend/drivers/platform_psp.o
endif
ifeq ($(strip $(VITASDK)),)
$(error "Please set VITASDK in your environment. export VITASDK=<path to>vitasdk")
endif
@@ -127,7 +127,6 @@ TARGETS := $(TARGET).vpk
DEPFLAGS = -MT $@ -MMD -MP -MF $*.Tdepend
POSTCOMPILE = mv -f $*.Tdepend $*.depend
all: $(TARGETS)
%.o: %.cpp
@@ -140,7 +139,6 @@ all: $(TARGETS)
$(CC) -c -o $@ $< $(CFLAGS) $(INCDIRS) $(DEPFLAGS)
$(POSTCOMPILE)
%.o: %.S
%.o: %.S %.depend
$(CC) -c -o $@ $< $(ASFLAGS) $(INCDIRS) $(DEPFLAGS)
+1
View File
@@ -44,6 +44,7 @@ OBJS = frontend/frontend_salamander.o \
libretro-common/encodings/encoding_utf.o \
libretro-common/compat/compat_strl.o \
libretro-common/compat/compat_strcasestr.o \
libretro-common/compat/fopen_utf8.o \
libretro-common/file/config_file.o \
libretro-common/streams/file_stream.o \
libretro-common/vfs/vfs_implementation.o \
+4 -2
View File
@@ -42,12 +42,13 @@ endif
MACHDEP := -DGEKKO -DHW_RVL -mrvl -mcpu=750 -meabi -mhard-float
CFLAGS += -Wall -std=gnu99 $(MACHDEP) $(INCLUDE)
LDFLAGS := $(MACHDEP) -Wl,-Map,$(notdir $(ELF_TARGET)).map
LIBS := -lwiiuse -logc -lbte
ifeq ($(EXTERNAL_LIBOGC), 1)
LIBS += -lfat
LIBS := -lfat
endif
LIBS += -lwiiuse -logc -lbte
APP_BOOTER_DIR = wii/app_booter
OBJ = frontend/frontend_salamander.o \
@@ -66,6 +67,7 @@ OBJ = frontend/frontend_salamander.o \
libretro-common/encodings/encoding_utf.o \
libretro-common/compat/compat_strl.o \
libretro-common/compat/compat_strcasestr.o \
libretro-common/compat/fopen_utf8.o \
libretro-common/file/config_file.o \
file_path_str.o \
verbosity.o \
+24 -21
View File
@@ -10,7 +10,6 @@ WIIU_HID = 1
HAVE_RUNAHEAD = 1
WIIU_LOG_RPX = 0
BUILD_DIR = objs/wiiu
PC_DEVELOPMENT_IP_ADDRESS ?=
PC_DEVELOPMENT_TCP_PORT ?=
ifeq ($(SALAMANDER_BUILD),1)
@@ -29,12 +28,11 @@ ifneq ($(V), 1)
endif
OBJ :=
OBJ += wiiu/input/wpad_driver.o
OBJ += wiiu/input/kpad_driver.o
OBJ += wiiu/input/pad_functions.o
OBJ += wiiu/main.o
OBJ += wiiu/system/memory.o
OBJ += wiiu/system/atomic.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/hbl.o
@@ -47,8 +45,8 @@ endif
ifeq ($(WIIU_HID),1)
DEFINES += -DWIIU_HID
OBJ += wiiu/input/hidpad_driver.o
OBJ += wiiu/input/wiiu_hid.o
OBJ += input/drivers_joypad/wiiu/hidpad_driver.o
OBJ += input/drivers_hid/wiiu_hid.o
OBJ += input/connect/joypad_connection.o \
input/common/hid/hid_device_driver.o \
input/common/hid/device_wiiu_gca.o \
@@ -66,6 +64,7 @@ ifeq ($(SALAMANDER_BUILD),1)
OBJ += frontend/drivers/platform_null.o
OBJ += libretro-common/encodings/encoding_utf.o
OBJ += libretro-common/compat/compat_strcasestr.o
OBJ += libretro-common/compat/fopen_utf8.o
OBJ += libretro-common/file/file_path.o
OBJ += libretro-common/string/stdstring.o
OBJ += libretro-common/lists/string_list.o
@@ -90,7 +89,6 @@ ifeq ($(HAVE_RUNAHEAD),1)
DEFINES += -DHAVE_RUNAHEAD
endif
OBJ += wiiu/system/missing_libc_functions.o
OBJ += wiiu/shader_utils.o
OBJ += gfx/drivers/gx2_shaders/tex.o
OBJ += gfx/drivers/gx2_shaders/sprite.o
@@ -108,7 +106,7 @@ endif
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_STB_FONT -DHAVE_STB_VORBIS -DHAVE_LANGEXTRA -DHAVE_LIBRETRODB -DHAVE_NETWORKING
DEFINES += -DHAVE_STB_FONT -DHAVE_STB_VORBIS -DHAVE_LANGEXTRA -DHAVE_LIBRETRODB -DHAVE_NETWORKING -DHAVE_NETPLAYDISCOVERY
# DEFINES += -DWANT_IFADDRS
# DEFINES += -DHAVE_FREETYPE
DEFINES += -DHAVE_XMB -DHAVE_MATERIALUI
@@ -118,12 +116,12 @@ endif
HAVE_RPNG = 1
HAVE_RJPEG = 1
HAVE_RBMP = 1
HAVE_MENU = 1
HAVE_RGUI = 1
HAVE_ZLIB = 1
HAVE_7ZIP = 1
HAVE_BUILTINZLIB = 1
HAVE_BUILTINZLIB = 0
HAVE_LIBRETRODB = 1
HAVE_ZARCH = 0
HAVE_MATERIALUI = 1
HAVE_XMB = 1
HAVE_STB_FONT = 1
@@ -131,6 +129,7 @@ endif
HAVE_LANGEXTRA = 1
HAVE_LIBRETRODB = 1
HAVE_NETWORKING = 1
HAVE_NETPLAYDISCOVERY = 1
HAVE_CHEEVOS = 1
# WANT_IFADDRS = 1
HAVE_OVERLAY = 1
@@ -140,14 +139,16 @@ endif
WANT_IOSUHAX = 1
include Makefile.common
BLACKLIST := $(LIBRETRO_COMM_DIR)/net/net_ifinfo.o
OBJ := $(filter-out $(BLACKLIST),$(OBJ))
OBJ += gfx/drivers/gx2_gfx.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 += input/drivers_joypad/wiiu/wpad_driver.o
OBJ += input/drivers_joypad/wiiu/kpad_driver.o
OBJ += input/drivers_joypad/wiiu/pad_functions.o
OBJ += audio/drivers/wiiu_audio.o
OBJ += frontend/drivers/platform_wiiu.o
endif
@@ -161,10 +162,6 @@ DEFINES += -DWIIU -DMSB_FIRST -D__WUT__
DEFINES += -DHAVE_MAIN
DEFINES += -DRARCH_CONSOLE
ifneq ($(PC_DEVELOPMENT_IP_ADDRESS),)
DEFINES += -DPC_DEVELOPMENT_IP_ADDRESS='"$(PC_DEVELOPMENT_IP_ADDRESS)"'
endif
ifneq ($(PC_DEVELOPMENT_TCP_PORT),)
DEFINES += -DPC_DEVELOPMENT_TCP_PORT=$(PC_DEVELOPMENT_TCP_PORT)
endif
@@ -197,7 +194,16 @@ else
ELF2RPL := $(ELF2RPL).exe
endif
INCDIRS := -I. -Ideps -Ideps/stb -Ideps/libz -Ideps/7zip -Ilibretro-common/include -Iwiiu -Iwiiu/include -I$(DEVKITPRO)/portlibs/ppc/include
INCDIRS := -I.
INCDIRS += -Ideps
INCDIRS += -Ideps/stb
INCDIRS += -Ideps/libz
INCDIRS += -Ideps/7zip
INCDIRS += -Ilibretro-common/include
INCDIRS += -Iinput/include
INCDIRS += -Iwiiu
INCDIRS += -Iwiiu/include
INCDIRS += -I$(DEVKITPRO)/portlibs/ppc/include
LIBDIRS := -L. -L$(DEVKITPRO)/portlibs/ppc/lib
CFLAGS := -mwup -mcpu=750 -meabi -mhard-float
@@ -226,7 +232,7 @@ CXXFLAGS = $(CFLAGS) -fno-rtti -fno-exceptions
LDFLAGS += -Wl,--gc-sections
LIBS := $(WHOLE_START) -lretro_wiiu $(WHOLE_END) -lm
LIBS := $(WHOLE_START) -lretro_wiiu $(WHOLE_END) -lm -lpng -lz
ifneq ($(WANT_LIBFAT), 1)
LIBS += -lfat
@@ -236,7 +242,6 @@ ifneq ($(WANT_IOSUHAX), 1)
LIBS += -liosuhax
endif
RPX_OBJ = $(BUILD_DIR)/wiiu/system/stubs_rpl.o
HBL_ELF_OBJ = $(BUILD_DIR)/wiiu/system/dynamic.o $(BUILD_DIR)/wiiu/system/stubs_elf.o
@@ -258,13 +263,11 @@ endif
DEPFLAGS = -MT $@ -MMD -MP -MF $(BUILD_DIR)/$*.depend
all: $(TARGETS)
%: $(BUILD_DIR)/%
cp $< $@
$(BUILD_DIR)/%.o: %.cpp %.depend
@$(if $(Q), echo CXX $<,)
@mkdir -p $(dir $@)
+4 -3
View File
@@ -8,9 +8,11 @@ HAVE_OPENGL = 1
HAVE_DYLIB = 1
HAVE_D3D9 = 1
HAVE_NETWORKING = 1
HAVE_NETPLAYDISCOVERY = 1
HAVE_STDIN_CMD = 1
HAVE_COMMAND = 1
HAVE_THREADS = 1
HAVE_MENU = 1
HAVE_RGUI = 1
HAVE_MATERIALUI = 1
HAVE_7ZIP = 1
@@ -18,6 +20,7 @@ HAVE_PYTHON = 0
DYNAMIC = 1
HAVE_XINPUT = 1
HAVE_WINMM = 1
HAVE_SDL := 0
HAVE_SDL2 := 0
@@ -100,7 +103,6 @@ else
WINDRES = windres
endif
libretro ?= -lretro
ifeq ($(DYNAMIC), 1)
@@ -121,7 +123,7 @@ else
CXXFLAGS += -O3 -ffast-math
endif
CFLAGS += -Wall -Wno-unused-result -Wno-unused-variable -I. -Ideps
CFLAGS += $(DEF_FLAGS) -Wall -Wno-unused-result -Wno-unused-variable -I. -Ideps
CXXFLAGS += -Wall -Wno-unused-result -Wno-unused-variable -I. -Ideps -std=c++98 -D__STDC_CONSTANT_MACROS
ifeq ($(CXX_BUILD), 1)
CFLAGS += -std=c++98 -xc++ -D__STDC_CONSTANT_MACROS
@@ -170,4 +172,3 @@ clean:
rm -f *.d
.PHONY: all install uninstall clean
+33 -32
View File
@@ -27,12 +27,11 @@ interface to include support for emulators and/or game engines. libretro is comp
## Binaries
Latest Windows binaries are currently hosted on the [buildbot](http://buildbot.libretro.com/).
Latest binaries are currently hosted on the [buildbot](http://buildbot.libretro.com/).
## Support
To reach developers, either make an issue here on GitHub, make a thread on the [forum](http://www.libretro.com/forums/),
or visit our IRC channel: #retroarch @ irc.freenode.org.
To reach developers, either make an issue here on GitHub, make a thread on the [forum](http://www.libretro.com/forums/), chat on [Discord](https://discord.gg/C4amCeV), or visit our IRC channel: #retroarch @ irc.freenode.org.
## Documentation
@@ -51,13 +50,13 @@ More developer-centric stuff is found [here](https://github.com/libretro/libretr
RetroArch attempts to be small and lean
while still having all the useful core features expected from an emulator.
It is designed to be very portable and features a gamepad-centric UI.
It is designed to be very portable and features a gamepad-centric and touchscreen UI.
It also has a full-featured command-line interface.
In some areas, RetroArch goes beyond and emphasizes on not-so-common technical features such as multi-pass shader support,
real-time rewind (Braid-style), video recording (using FFmpeg), etc.
real-time rewind (Braid-style), video recording (using FFmpeg), run-ahead input latency removal, etc.
RetroArch also emphasizes on being easy to integrate into various launcher frontends.
RetroArch also emphasizes being easy to integrate into various launcher frontends.
## Platforms
@@ -66,22 +65,24 @@ RetroArch has been ported to the following platforms:
- DOS
- Windows
- Linux
- Emscripten
- Emscripten (WebAssembly and JavaScript)
- FreeBSD
- NetBSD
- OpenBSD
- Haiku
- Solaris
- MacOS X
- macOS (PPC, x86-32 and x86-64)
- PlayStation 3
- PlayStation Portable
- PlayStation Vita
- Original Microsoft Xbox
- Microsoft Xbox 360 (Libxenon/XeXDK)
- Nintendo Wii, GameCube (Libogc)
- Nintendo GameCube
- Nintendo Wii
- Nintendo Wii U
- Nintendo 3DS
- Nintendo Switch
- Nintendo NES/SNES Classic Edition
- Raspberry Pi
- Android
- iOS
@@ -147,9 +148,9 @@ Instructions for compiling and installing RetroArch can be found in the [Libretr
## CRT 15Khz Resolution Switching
CRT Switch res will turn on, on the fly. However, you will need to restart retroarch to disable it. With CRT SwitchRes enable Retroarch will start in 2560 x 480 @ 60.
CRT SwitchRes will turn on, on the fly. However, you will need to restart RetroArch to disable it. With CRT SwitchRes enable RetroArch will start in 2560 x 480 @ 60.
If you are running windows, before enabling the CRT SwitchRes options please make sure you have installed CRTEmudriver and installed some modelines. The minimum modelins for all games to switch correctly are:
If you are running Windows, before enabling the CRT SwitchRes options please make sure you have installed CRTEmudriver and installed some modelines. The minimum modelines for all games to switch correctly are:
- 2560 x 192 @ 60.000000
- 2560 x 200 @ 60.000000
@@ -161,7 +162,7 @@ If you are running windows, before enabling the CRT SwitchRes options please mak
- 2560 x 448 @ 60.000000
- 2560 x 480 @ 60.000000
Install these modelines replacing 2560 with your desired super resolution. The above resolutions are NTSC only so if you would be playing any PAL content please add pal modelines:
Install these modelines replacing 2560 with your desired super resolution. The above resolutions are NTSC only so if you would be playing any PAL content please add PAL modelines:
- 2560 x 192 @ 50.000000
- 2560 x 200 @ 50.000000
@@ -188,46 +189,46 @@ The default super resolution is 2560. It is displayed just under the CRT switch
If native resolutions are activated you will need a whole new set of modelines:
- 512 x 240 @ 50.006977 SNESpal
- 256 x 240 @ 50.006977 SNESpal
- 256 x 448 @ 50.006977 SNESpal
- 512 x 224 @ 50.006977 SNESpal
- 512 x 240 @ 50.006977 SNESpal
- 512 x 448 @ 50.006977 SNESpal
- 256 x 240 @ 60.098812 SNESntsc
- 256 x 448 @ 60.098812 SNESntsc
- 512 x 240 @ 60.098812 SNESntsc
- 512 x 224 @ 60.098812 SNESntsc
- 512 x 448 @ 60.098812 SNESntsc
- 256 x 240 @ 50.006977 SNESpal
- 256 x 448 @ 50.006977 SNESpal
- 256 x 240 @ 60.098812 SNESntsc
- 256 x 448 @ 60.098812 SNESntsc
- 320 x 240 @ 59.922745 MDntsc
- 320 x 448 @ 59.922745 MDntp
- 320 x 480 @ 59.922745 MDntsc
- 256 x 192 @ 59.922745 MDntsc
- 320 x 224 @ 59.922745 MDntsc
- 256 x 224 @ 59.922745 MDntsc
- 320 x 288 @ 49.701458 MDpal
- 320 x 576 @ 49.701458 MDpal
- 320 x 224 @ 59.922745 MDntsc
- 320 x 240 @ 59.922745 MDntsc
- 320 x 448 @ 59.922745 MDntsc
- 320 x 480 @ 59.922745 MDntsc
- 256 x 192 @ 49.701458 MDpal
- 256 x 224 @ 49.701458 MDpal
- 320 x 224 @ 49.701458 MDpal
- 320 x 240 @ 49.701458 MDpal
- 320 x 288 @ 49.701458 MDpal
- 320 x 448 @ 49.701458 MDpal
- 320 x 480 @ 49.701458 MDpal
- 256 x 224 @ 49.701458 MDpal
- 320 x 576 @ 49.701458 MDpal
- 256 x 288 @ 49.701458 MSYSpal
- 256 x 240 @ 60.098812 NESntsc
- 256 x 240 @ 50.006977 NESpal
- 640 x 480 @ 60.130001 N64ntsc
- 640 x 237 @ 60.130001 N64ntsc
- 640 x 240 @ 60.130001 N64ntsc
- 640 x 480 @ 60.130001 N64ntsc
- 640 x 288 @ 50.000000 N64pal
- 640 x 480 @ 50.000000 N64pal
- 640 x 576 @ 50.000000 n64pal
- 640 x 288 @ 50.000000 n64pal
- 640 x 576 @ 50.000000 N64pal
- 256 x 252 @ 49.759998 PSXpal
- 384 x 252 @ 49.759998 PSXpal
- 640 x 540 @ 49.759998 PSXpal
- 320 x 252 @ 49.759998 PSXpal
- 384 x 252 @ 49.759998 PSXpal
- 640 x 252 @ 49.759998 PSXpal
- 640 x 540 @ 49.759998 PSXpal
- 384 x 240 @ 59.941002 PSXntsc
- 256 x 480 @ 59.941002 PSXntsc
@@ -251,8 +252,8 @@ If native resolutions are activated you will need a whole new set of modelines:
These modelines are more accurate giving exact hz. However, some games may have unwanted results. This is due to mid-scanline resolution changes on the original hardware. For the best results super resolutions are the way to go.
## CRT resolution switching & Mame
## CRT resolution switching & MAME
Some arcade resolutions can be a lot different. There is resolution detection to ensure mame games will be displayed in the closest available resolution but drawn at their native resolution within this resolution. Meaning that the mame game will look just like the original hardware.
Some arcade resolutions can be very different from consumer CRTs. There is resolution detection to ensure MAME games will be displayed in the closest available resolution but drawn at their native resolution within this resolution. Meaning that the MAME game will look just like the original hardware.
Mame roms that run in a vertical aspect like DoDonPachi need to be rotated within mame before resolution switching and aspect correction will work. Do this before enabling CRT switchRes so that Retroarch will run in your desktop resolution. Once you have roted any games that may need it switch CRT SwitchRes on.
MAME ROMs that run in a vertical aspect like DoDonPachi need to be rotated within MAME before resolution switching and aspect correction will work. Do this before enabling CRT SwitchRes so that RetroArch will run in your desktop resolution. Once you have rotated any games that may need it turn CRT SwitchRes on.
+88
View File
@@ -0,0 +1,88 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2014 - Hans-Kristian Arntzen
* 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/>.
*/
#ifndef __AUDIO_DEFINES__H
#define __AUDIO_DEFINES__H
#include <retro_common_api.h>
RETRO_BEGIN_DECLS
#define AUDIO_CHUNK_SIZE_BLOCKING 512
/* So we don't get complete line-noise when fast-forwarding audio. */
#define AUDIO_CHUNK_SIZE_NONBLOCKING 2048
#define AUDIO_MAX_RATIO 16
#define AUDIO_MIXER_MAX_STREAMS 16
#define AUDIO_MIXER_MAX_SYSTEM_STREAMS (AUDIO_MIXER_MAX_STREAMS + 4)
/* do not define more than (MAX_SYSTEM_STREAMS - MAX_STREAMS) */
enum audio_mixer_system_slot
{
AUDIO_MIXER_SYSTEM_SLOT_OK = AUDIO_MIXER_MAX_STREAMS,
AUDIO_MIXER_SYSTEM_SLOT_CANCEL,
AUDIO_MIXER_SYSTEM_SLOT_NOTICE,
AUDIO_MIXER_SYSTEM_SLOT_BGM
};
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
};
enum audio_mixer_slot_selection_type
{
AUDIO_MIXER_SLOT_SELECTION_AUTOMATIC = 0,
AUDIO_MIXER_SLOT_SELECTION_MANUAL
};
enum audio_mixer_stream_type
{
AUDIO_STREAM_TYPE_NONE = 0,
AUDIO_STREAM_TYPE_USER,
AUDIO_STREAM_TYPE_SYSTEM
};
enum audio_mixer_state
{
AUDIO_STREAM_STATE_NONE = 0,
AUDIO_STREAM_STATE_STOPPED,
AUDIO_STREAM_STATE_PLAYING,
AUDIO_STREAM_STATE_PLAYING_LOOPED,
AUDIO_STREAM_STATE_PLAYING_SEQUENTIAL
};
typedef struct audio_statistics
{
float average_buffer_saturation;
float std_deviation_percentage;
float close_to_underrun;
float close_to_blocking;
unsigned samples;
} audio_statistics_t;
RETRO_END_DECLS
#endif
+304 -37
View File
@@ -21,10 +21,12 @@
#include <lists/string_list.h>
#include <audio/conversion/float_to_s16.h>
#include <audio/conversion/s16_to_float.h>
#include <audio/audio_resampler.h>
#include <audio/dsp_filter.h>
#include <file/file_path.h>
#include <lists/dir_list.h>
#include <string/stdstring.h>
#include <streams/file_stream.h>
#ifdef HAVE_CONFIG_H
#include "../config.h"
@@ -35,6 +37,8 @@
#include "../gfx/video_driver.h"
#include "../record/record_driver.h"
#include "../frontend/frontend_driver.h"
#include "../tasks/task_audio_mixer.h"
#include "../tasks/tasks_internal.h"
#include "../command.h"
#include "../driver.h"
@@ -42,9 +46,17 @@
#include "../retroarch.h"
#include "../verbosity.h"
#include "../list_special.h"
#include "../file_path_special.h"
#include "../content.h"
#ifdef HAVE_THREADS
#include <rthreads/rthreads.h>
#endif
#define AUDIO_BUFFER_FREE_SAMPLES_COUNT (8 * 1024)
#define MENU_SOUND_FORMATS "ogg|mod|xm|s3m|mp3|flac"
/**
* db_to_gain:
* @db : Decibels.
@@ -65,6 +77,9 @@ static const audio_driver_t *audio_drivers[] = {
#ifdef HAVE_TINYALSA
&audio_tinyalsa,
#endif
#if defined(HAVE_AUDIOIO)
&audio_audioio,
#endif
#if defined(HAVE_OSS) || defined(HAVE_OSS_BSD)
&audio_oss,
#endif
@@ -74,6 +89,9 @@ static const audio_driver_t *audio_drivers[] = {
#ifdef HAVE_COREAUDIO
&audio_coreaudio,
#endif
#ifdef HAVE_COREAUDIO3
&audio_coreaudio3,
#endif
#ifdef HAVE_AL
&audio_openal,
#endif
@@ -116,21 +134,25 @@ static const audio_driver_t *audio_drivers[] = {
#ifdef EMSCRIPTEN
&audio_rwebaudio,
#endif
#if defined(PSP) || defined(VITA)
#if defined(PSP) || defined(VITA) || defined(ORBIS)
&audio_psp,
#endif
#if defined(PS2)
&audio_ps2,
#endif
#ifdef _3DS
&audio_ctr_csnd,
&audio_ctr_dsp,
#endif
#ifdef SWITCH
&audio_switch_thread,
&audio_switch,
#endif
&audio_null,
NULL,
};
static struct audio_mixer_stream audio_mixer_streams[AUDIO_MIXER_MAX_STREAMS] = {{0}};
static struct audio_mixer_stream audio_mixer_streams[AUDIO_MIXER_MAX_SYSTEM_STREAMS] = {{0}};
static size_t audio_driver_chunk_size = 0;
static size_t audio_driver_chunk_nonblock_size = 0;
@@ -178,13 +200,36 @@ static const audio_driver_t *current_audio = NULL;
static void *audio_driver_context_audio_data = NULL;
static bool audio_suspended = false;
static bool audio_is_threaded = false;
#ifdef HAVE_THREADS
static slock_t* s_audio_driver_lock = NULL;
#endif
static void audio_mixer_play_stop_sequential_cb(
audio_mixer_sound_t *sound, unsigned reason);
static void audio_mixer_play_stop_cb(
audio_mixer_sound_t *sound, unsigned reason);
static void audio_mixer_menu_stop_cb(
audio_mixer_sound_t *sound, unsigned reason);
enum resampler_quality audio_driver_get_resampler_quality(void)
#ifdef HAVE_THREADS
#define audio_driver_lock() \
if (s_audio_driver_lock) \
slock_lock(s_audio_driver_lock)
#else
#define audio_driver_lock()
#endif
#ifdef HAVE_THREADS
#define audio_driver_unlock() \
if (s_audio_driver_lock) \
slock_unlock(s_audio_driver_lock)
#else
#define audio_driver_unlock()
#endif
static enum resampler_quality audio_driver_get_resampler_quality(void)
{
settings_t *settings = config_get_ptr();
@@ -196,14 +241,14 @@ enum resampler_quality audio_driver_get_resampler_quality(void)
audio_mixer_stream_t *audio_driver_mixer_get_stream(unsigned i)
{
if (i > (AUDIO_MIXER_MAX_STREAMS-1))
if (i > (AUDIO_MIXER_MAX_SYSTEM_STREAMS-1))
return NULL;
return &audio_mixer_streams[i];
}
const char *audio_driver_mixer_get_stream_name(unsigned i)
{
if (i > (AUDIO_MIXER_MAX_STREAMS-1))
if (i > (AUDIO_MIXER_MAX_SYSTEM_STREAMS-1))
return "N/A";
if (!string_is_empty(audio_mixer_streams[i].name))
return audio_mixer_streams[i].name;
@@ -385,12 +430,11 @@ static bool audio_driver_deinit_internal(void)
return true;
}
static void audio_driver_mixer_init(unsigned out_rate)
static void audio_driver_mixer_init(unsigned audio_out_rate)
{
audio_mixer_init(out_rate);
audio_mixer_init(audio_out_rate);
}
static bool audio_driver_init_internal(bool audio_cb_inited)
{
unsigned new_rate = 0;
@@ -441,6 +485,7 @@ static bool audio_driver_init_internal(bool audio_cb_inited)
#ifdef HAVE_THREADS
if (audio_cb_inited)
{
audio_is_threaded = true;
RARCH_LOG("[Audio]: Starting threaded audio driver ...\n");
if (!audio_init_thread(
&current_audio,
@@ -459,6 +504,7 @@ static bool audio_driver_init_internal(bool audio_cb_inited)
else
#endif
{
audio_is_threaded = false;
audio_driver_context_audio_data =
current_audio->init(*settings->arrays.audio_device ?
settings->arrays.audio_device : NULL,
@@ -501,6 +547,15 @@ static bool audio_driver_init_internal(bool audio_cb_inited)
audio_source_ratio_original = audio_source_ratio_current =
(double)settings->uints.audio_out_rate / audio_driver_input;
#ifdef HAVE_THREADS
if (s_audio_driver_lock)
slock_free(s_audio_driver_lock);
s_audio_driver_lock = slock_new();
#endif
audio_resampler_lock_init();
audio_resampler_lock();
if (!retro_resampler_realloc(
&audio_driver_resampler_data,
&audio_driver_resampler,
@@ -513,6 +568,8 @@ static bool audio_driver_init_internal(bool audio_cb_inited)
audio_driver_active = false;
}
audio_resampler_unlock();
aud_inp_data = (float*)malloc(max_bufsamples * sizeof(float));
retro_assert(aud_inp_data != NULL);
@@ -583,9 +640,13 @@ void audio_driver_set_nonblocking_state(bool enable)
audio_driver_context_audio_data,
settings->bools.audio_sync ? enable : true);
audio_driver_lock();
audio_driver_chunk_size = enable ?
audio_driver_chunk_nonblock_size :
audio_driver_chunk_block_size;
audio_driver_unlock();
}
/**
@@ -603,6 +664,7 @@ static void audio_driver_flush(const int16_t *data, size_t samples)
bool is_paused = false;
bool is_idle = false;
bool is_slowmotion = false;
bool is_active = false;
const void *output_data = NULL;
unsigned output_frames = 0;
float audio_volume_gain = !audio_driver_mute_enable ?
@@ -611,9 +673,13 @@ static void audio_driver_flush(const int16_t *data, size_t samples)
src_data.data_out = NULL;
src_data.output_frames = 0;
recording_driver_lock();
if (recording_data)
recording_push_audio(data, samples);
recording_driver_unlock();
runloop_get_status(&is_paused, &is_idle, &is_slowmotion,
&is_perfcnt_enable);
@@ -623,13 +689,16 @@ static void audio_driver_flush(const int16_t *data, size_t samples)
!audio_driver_output_samples_buf)
return;
audio_driver_lock();
convert_s16_to_float(audio_driver_input_data, data, samples,
audio_volume_gain);
audio_driver_unlock();
src_data.data_in = audio_driver_input_data;
src_data.input_frames = samples >> 1;
if (audio_driver_dsp)
{
struct retro_dsp_data dsp_data;
@@ -690,9 +759,15 @@ static void audio_driver_flush(const int16_t *data, size_t samples)
src_data.ratio *= settings->floats.slowmotion_ratio;
}
audio_driver_resampler->process(audio_driver_resampler_data, &src_data);
audio_driver_lock();
if (audio_mixer_active)
audio_resampler_lock();
audio_driver_resampler->process(audio_driver_resampler_data, &src_data);
audio_resampler_unlock();
is_active = audio_mixer_active;
if (is_active)
{
bool override = audio_driver_mixer_mute_enable ? true :
(audio_driver_mixer_volume_gain != 1.0f) ? true : false;
@@ -702,6 +777,8 @@ static void audio_driver_flush(const int16_t *data, size_t samples)
src_data.output_frames, mixer_gain, override);
}
audio_driver_unlock();
output_data = audio_driver_output_samples_buf;
output_frames = (unsigned)src_data.output_frames;
@@ -716,9 +793,13 @@ static void audio_driver_flush(const int16_t *data, size_t samples)
output_frames *= sizeof(int16_t);
}
audio_driver_lock();
if (current_audio->write(audio_driver_context_audio_data,
output_data, output_frames * 2) < 0)
audio_driver_active = false;
audio_driver_unlock();
}
/**
@@ -730,14 +811,24 @@ static void audio_driver_flush(const int16_t *data, size_t samples)
**/
void audio_driver_sample(int16_t left, int16_t right)
{
audio_driver_lock();
if (audio_suspended)
{
audio_driver_unlock();
return;
}
audio_driver_output_samples_conv_buf[audio_driver_data_ptr++] = left;
audio_driver_output_samples_conv_buf[audio_driver_data_ptr++] = right;
if (audio_driver_data_ptr < audio_driver_chunk_size)
{
audio_driver_unlock();
return;
}
audio_driver_unlock();
audio_driver_flush(audio_driver_output_samples_conv_buf,
audio_driver_data_ptr);
@@ -748,9 +839,8 @@ void audio_driver_sample(int16_t left, int16_t right)
void audio_driver_menu_sample(void)
{
static int16_t samples_buf[1024] = {0};
struct retro_system_av_info
*av_info = video_viewport_get_system_av_info();
const struct retro_system_timing *info =
struct retro_system_av_info *av_info = video_viewport_get_system_av_info();
const struct retro_system_timing *info =
(const struct retro_system_timing*)&av_info->timing;
unsigned sample_count = (info->sample_rate / info->fps) * 2;
while (sample_count > 1024)
@@ -795,6 +885,9 @@ size_t audio_driver_sample_batch(const int16_t *data, size_t frames)
**/
void audio_driver_sample_rewind(int16_t left, int16_t right)
{
if (audio_driver_rewind_ptr == 0)
return;
audio_driver_rewind_buf[--audio_driver_rewind_ptr] = right;
audio_driver_rewind_buf[--audio_driver_rewind_ptr] = left;
}
@@ -818,7 +911,10 @@ size_t audio_driver_sample_batch_rewind(const int16_t *data, size_t frames)
size_t samples = frames << 1;
for (i = 0; i < samples; i++)
audio_driver_rewind_buf[--audio_driver_rewind_ptr] = data[i];
{
if (audio_driver_rewind_ptr > 0)
audio_driver_rewind_buf[--audio_driver_rewind_ptr] = data[i];
}
return frames;
}
@@ -888,7 +984,7 @@ void audio_driver_monitor_adjust_system_rates(void)
timing_skew = fabs(1.0f - info->fps / video_refresh_rate);
audio_driver_input = info->sample_rate;
if (timing_skew <= max_timing_skew)
if (timing_skew <= max_timing_skew && !settings->bools.vrr_runloop_enable)
audio_driver_input *= (video_refresh_rate / info->fps);
RARCH_LOG("[Audio]: Set audio input rate to: %.2f Hz.\n",
@@ -904,11 +1000,13 @@ void audio_driver_setup_rewind(void)
for (i = 0; i < audio_driver_data_ptr; i += 2)
{
audio_driver_rewind_buf[--audio_driver_rewind_ptr] =
audio_driver_output_samples_conv_buf[i + 1];
if (audio_driver_rewind_ptr > 0)
audio_driver_rewind_buf[--audio_driver_rewind_ptr] =
audio_driver_output_samples_conv_buf[i + 1];
audio_driver_rewind_buf[--audio_driver_rewind_ptr] =
audio_driver_output_samples_conv_buf[i + 0];
if (audio_driver_rewind_ptr > 0)
audio_driver_rewind_buf[--audio_driver_rewind_ptr] =
audio_driver_output_samples_conv_buf[i + 0];
}
audio_driver_data_ptr = 0;
@@ -953,10 +1051,13 @@ bool audio_driver_find_driver(void)
void audio_driver_deinit_resampler(void)
{
audio_resampler_lock();
if (audio_driver_resampler && audio_driver_resampler_data)
audio_driver_resampler->free(audio_driver_resampler_data);
audio_driver_resampler = NULL;
audio_driver_resampler_data = NULL;
audio_resampler_unlock();
audio_resampler_lock_free();
}
bool audio_driver_free_devices_list(void)
@@ -1040,7 +1141,7 @@ static int audio_mixer_find_index(audio_mixer_sound_t *sound)
{
unsigned i;
for (i = 0; i < AUDIO_MIXER_MAX_STREAMS; i++)
for (i = 0; i < AUDIO_MIXER_MAX_SYSTEM_STREAMS; i++)
{
audio_mixer_sound_t *handle = audio_mixer_streams[i].handle;
if (handle == sound)
@@ -1082,6 +1183,28 @@ static void audio_mixer_play_stop_cb(
}
}
static void audio_mixer_menu_stop_cb(
audio_mixer_sound_t *sound, unsigned reason)
{
int idx = audio_mixer_find_index(sound);
switch (reason)
{
case AUDIO_MIXER_SOUND_FINISHED:
if (idx >= 0)
{
unsigned i = (unsigned)idx;
audio_mixer_streams[i].state = AUDIO_STREAM_STATE_STOPPED;
audio_mixer_streams[i].volume = 0.0f;
}
break;
case AUDIO_MIXER_SOUND_STOPPED:
break;
case AUDIO_MIXER_SOUND_REPEATED:
break;
}
}
static void audio_mixer_play_stop_sequential_cb(
audio_mixer_sound_t *sound, unsigned reason)
{
@@ -1099,6 +1222,11 @@ static void audio_mixer_play_stop_sequential_cb(
if (!string_is_empty(audio_mixer_streams[i].name))
free(audio_mixer_streams[i].name);
if (i < AUDIO_MIXER_MAX_STREAMS)
audio_mixer_streams[i].stream_type = AUDIO_STREAM_TYPE_USER;
else
audio_mixer_streams[i].stream_type = AUDIO_STREAM_TYPE_SYSTEM;
audio_mixer_streams[i].name = NULL;
audio_mixer_streams[i].state = AUDIO_STREAM_STATE_NONE;
audio_mixer_streams[i].volume = 0.0f;
@@ -1109,7 +1237,7 @@ static void audio_mixer_play_stop_sequential_cb(
i++;
for (; i < AUDIO_MIXER_MAX_STREAMS; i++)
for (; i < AUDIO_MIXER_MAX_SYSTEM_STREAMS; i++)
{
if (audio_mixer_streams[i].state == AUDIO_STREAM_STATE_STOPPED)
{
@@ -1126,10 +1254,11 @@ static void audio_mixer_play_stop_sequential_cb(
}
}
bool audio_driver_mixer_get_free_stream_slot(unsigned *id)
static bool audio_driver_mixer_get_free_stream_slot(unsigned *id, enum audio_mixer_stream_type type)
{
unsigned i;
for (i = 0; i < AUDIO_MIXER_MAX_STREAMS; i++)
unsigned i = (type == AUDIO_STREAM_TYPE_USER) ? 0 : AUDIO_MIXER_MAX_STREAMS;
unsigned count = (type == AUDIO_STREAM_TYPE_USER) ? AUDIO_MIXER_MAX_STREAMS : AUDIO_MIXER_MAX_SYSTEM_STREAMS;
for (; i < count; i++)
{
if (audio_mixer_streams[i].state == AUDIO_STREAM_STATE_NONE)
{
@@ -1149,9 +1278,22 @@ bool audio_driver_mixer_add_stream(audio_mixer_stream_params_t *params)
audio_mixer_stop_cb_t stop_cb = audio_mixer_play_stop_cb;
bool looped = false;
void *buf = NULL;
if (!audio_driver_mixer_get_free_stream_slot(&free_slot))
if (params->stream_type == AUDIO_STREAM_TYPE_NONE)
return false;
switch (params->slot_selection_type)
{
case AUDIO_MIXER_SLOT_SELECTION_MANUAL:
free_slot = params->slot_selection_idx;
break;
case AUDIO_MIXER_SLOT_SELECTION_AUTOMATIC:
default:
if (!audio_driver_mixer_get_free_stream_slot(
&free_slot, params->stream_type))
return false;
break;
}
if (params->state == AUDIO_STREAM_STATE_NONE)
return false;
@@ -1211,22 +1353,28 @@ bool audio_driver_mixer_add_stream(audio_mixer_stream_params_t *params)
break;
}
audio_driver_lock();
audio_mixer_active = true;
audio_mixer_streams[free_slot].name = !string_is_empty(params->basename) ? strdup(params->basename) : NULL;
audio_mixer_streams[free_slot].name = !string_is_empty(params->basename) ? strdup(params->basename) : NULL;
audio_mixer_streams[free_slot].buf = buf;
audio_mixer_streams[free_slot].handle = handle;
audio_mixer_streams[free_slot].voice = voice;
audio_mixer_streams[free_slot].stream_type = params->stream_type;
audio_mixer_streams[free_slot].type = params->type;
audio_mixer_streams[free_slot].state = params->state;
audio_mixer_streams[free_slot].volume = params->volume;
audio_mixer_streams[free_slot].stop_cb = stop_cb;
audio_driver_unlock();
return true;
}
enum audio_mixer_state audio_driver_mixer_get_stream_state(unsigned i)
{
if (i >= AUDIO_MIXER_MAX_STREAMS)
if (i >= AUDIO_MIXER_MAX_SYSTEM_STREAMS)
return AUDIO_STREAM_STATE_NONE;
return audio_mixer_streams[i].state;
@@ -1236,7 +1384,7 @@ static void audio_driver_mixer_play_stream_internal(unsigned i, unsigned type)
{
bool set_state = false;
if (i >= AUDIO_MIXER_MAX_STREAMS)
if (i >= AUDIO_MIXER_MAX_SYSTEM_STREAMS)
return;
switch (audio_mixer_streams[i].state)
@@ -1258,12 +1406,128 @@ static void audio_driver_mixer_play_stream_internal(unsigned i, unsigned type)
audio_mixer_streams[i].state = (enum audio_mixer_state)type;
}
static void audio_driver_load_menu_bgm_callback(void *task_data, void *user_data, const char *error)
{
bool contentless = false;
bool is_inited = false;
content_get_status(&contentless, &is_inited);
if (!is_inited)
audio_driver_mixer_play_menu_sound_looped(AUDIO_MIXER_SYSTEM_SLOT_BGM);
}
void audio_driver_load_menu_sounds(void)
{
settings_t *settings = config_get_ptr();
char *sounds_path = NULL;
char *sounds_fallback_path = NULL;
const char *path_ok = NULL;
const char *path_cancel = NULL;
const char *path_notice = NULL;
const char *path_bgm = NULL;
struct string_list *list = NULL;
struct string_list *list_fallback = NULL;
int i = 0;
sounds_path = (char*)malloc(PATH_MAX_LENGTH * sizeof(char));
sounds_fallback_path = (char*)malloc(PATH_MAX_LENGTH * sizeof(char));
sounds_path[0] = sounds_fallback_path[0] = '\0';
fill_pathname_join(
sounds_fallback_path,
settings->paths.directory_assets,
"sounds",
PATH_MAX_LENGTH * sizeof(char)
);
fill_pathname_application_special(sounds_path, PATH_MAX_LENGTH * sizeof(char), APPLICATION_SPECIAL_DIRECTORY_ASSETS_SOUNDS);
list = dir_list_new(sounds_path, MENU_SOUND_FORMATS, false, false, false, false);
list_fallback = dir_list_new(sounds_fallback_path, MENU_SOUND_FORMATS, false, false, false, false);
if (!list)
{
list = list_fallback;
list_fallback = NULL;
}
if (!list || list->size == 0)
goto end;
if (list_fallback && list_fallback->size > 0)
{
for (i = 0; i < list_fallback->size; i++)
{
if (list->size == 0 || !string_list_find_elem(list, list_fallback->elems[i].data))
{
union string_list_elem_attr attr = {0};
string_list_append(list, list_fallback->elems[i].data, attr);
}
}
}
for (i = 0; i < list->size; i++)
{
const char *path = list->elems[i].data;
const char *ext = path_get_extension(path);
char basename_noext[PATH_MAX_LENGTH];
basename_noext[0] = '\0';
fill_pathname_base_noext(basename_noext, path, sizeof(basename_noext));
if (audio_driver_mixer_extension_supported(ext))
{
if (string_is_equal_noncase(basename_noext, "ok"))
path_ok = path;
if (string_is_equal_noncase(basename_noext, "cancel"))
path_cancel = path;
if (string_is_equal_noncase(basename_noext, "notice"))
path_notice = path;
if (string_is_equal_noncase(basename_noext, "bgm"))
path_bgm = path;
}
}
if (path_ok && settings->bools.audio_enable_menu_ok)
task_push_audio_mixer_load(path_ok, NULL, NULL, true, AUDIO_MIXER_SLOT_SELECTION_MANUAL, AUDIO_MIXER_SYSTEM_SLOT_OK);
if (path_cancel && settings->bools.audio_enable_menu_cancel)
task_push_audio_mixer_load(path_cancel, NULL, NULL, true, AUDIO_MIXER_SLOT_SELECTION_MANUAL, AUDIO_MIXER_SYSTEM_SLOT_CANCEL);
if (path_notice && settings->bools.audio_enable_menu_notice)
task_push_audio_mixer_load(path_notice, NULL, NULL, true, AUDIO_MIXER_SLOT_SELECTION_MANUAL, AUDIO_MIXER_SYSTEM_SLOT_NOTICE);
if (path_bgm && settings->bools.audio_enable_menu_bgm)
task_push_audio_mixer_load(path_bgm, audio_driver_load_menu_bgm_callback, NULL, true, AUDIO_MIXER_SLOT_SELECTION_MANUAL, AUDIO_MIXER_SYSTEM_SLOT_BGM);
end:
if (list)
string_list_free(list);
if (list_fallback)
string_list_free(list_fallback);
if (sounds_path)
free(sounds_path);
if (sounds_fallback_path)
free(sounds_fallback_path);
}
void audio_driver_mixer_play_stream(unsigned i)
{
audio_mixer_streams[i].stop_cb = audio_mixer_play_stop_cb;
audio_driver_mixer_play_stream_internal(i, AUDIO_STREAM_STATE_PLAYING);
}
void audio_driver_mixer_play_menu_sound_looped(unsigned i)
{
audio_mixer_streams[i].stop_cb = audio_mixer_menu_stop_cb;
audio_driver_mixer_play_stream_internal(i, AUDIO_STREAM_STATE_PLAYING_LOOPED);
}
void audio_driver_mixer_play_menu_sound(unsigned i)
{
audio_mixer_streams[i].stop_cb = audio_mixer_menu_stop_cb;
audio_driver_mixer_play_stream_internal(i, AUDIO_STREAM_STATE_PLAYING);
}
void audio_driver_mixer_play_stream_looped(unsigned i)
{
audio_mixer_streams[i].stop_cb = audio_mixer_play_stop_cb;
@@ -1278,7 +1542,7 @@ void audio_driver_mixer_play_stream_sequential(unsigned i)
float audio_driver_mixer_get_stream_volume(unsigned i)
{
if (i >= AUDIO_MIXER_MAX_STREAMS)
if (i >= AUDIO_MIXER_MAX_SYSTEM_STREAMS)
return 0.0f;
return audio_mixer_streams[i].volume;
@@ -1288,7 +1552,7 @@ void audio_driver_mixer_set_stream_volume(unsigned i, float vol)
{
audio_mixer_voice_t *voice = NULL;
if (i >= AUDIO_MIXER_MAX_STREAMS)
if (i >= AUDIO_MIXER_MAX_SYSTEM_STREAMS)
return;
audio_mixer_streams[i].volume = vol;
@@ -1303,7 +1567,7 @@ void audio_driver_mixer_stop_stream(unsigned i)
{
bool set_state = false;
if (i >= AUDIO_MIXER_MAX_STREAMS)
if (i >= AUDIO_MIXER_MAX_SYSTEM_STREAMS)
return;
switch (audio_mixer_streams[i].state)
@@ -1333,7 +1597,7 @@ void audio_driver_mixer_remove_stream(unsigned i)
{
bool destroy = false;
if (i >= AUDIO_MIXER_MAX_STREAMS)
if (i >= AUDIO_MIXER_MAX_SYSTEM_STREAMS)
return;
switch (audio_mixer_streams[i].state)
@@ -1375,7 +1639,7 @@ static void audio_driver_mixer_deinit(void)
audio_mixer_active = false;
for (i = 0; i < AUDIO_MIXER_MAX_STREAMS; i++)
for (i = 0; i < AUDIO_MIXER_MAX_SYSTEM_STREAMS; i++)
{
audio_driver_mixer_stop_stream(i);
audio_driver_mixer_remove_stream(i);
@@ -1388,6 +1652,11 @@ bool audio_driver_deinit(void)
{
audio_driver_mixer_deinit();
audio_driver_free_devices_list();
#ifdef HAVE_THREADS
slock_free(s_audio_driver_lock);
s_audio_driver_lock = NULL;
#endif
if (!audio_driver_deinit_internal())
return false;
return true;
@@ -1489,7 +1758,6 @@ error:
return false;
}
bool audio_driver_stop(void)
{
if (!current_audio || !current_audio->stop
@@ -1579,7 +1847,6 @@ void audio_set_bool(enum audio_action action, bool val)
}
}
void audio_set_float(enum audio_action action, float val)
{
switch (action)
+28 -51
View File
@@ -22,46 +22,21 @@
#include <sys/types.h>
#include <boolean.h>
#include <audio/audio_mixer.h>
#include <audio/audio_resampler.h>
#include <retro_common_api.h>
#include <audio/audio_mixer.h>
#include "audio_defines.h"
RETRO_BEGIN_DECLS
#define AUDIO_CHUNK_SIZE_BLOCKING 512
/* So we don't get complete line-noise when fast-forwarding audio. */
#define AUDIO_CHUNK_SIZE_NONBLOCKING 2048
#define AUDIO_MAX_RATIO 16
#define AUDIO_MIXER_MAX_STREAMS 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
};
enum audio_mixer_state
{
AUDIO_STREAM_STATE_NONE = 0,
AUDIO_STREAM_STATE_STOPPED,
AUDIO_STREAM_STATE_PLAYING,
AUDIO_STREAM_STATE_PLAYING_LOOPED,
AUDIO_STREAM_STATE_PLAYING_SEQUENTIAL
};
typedef struct audio_mixer_stream
{
audio_mixer_sound_t *handle;
audio_mixer_voice_t *voice;
audio_mixer_stop_cb_t stop_cb;
enum audio_mixer_stream_type stream_type;
enum audio_mixer_type type;
enum audio_mixer_state state;
float volume;
void *buf;
@@ -69,14 +44,19 @@ typedef struct audio_mixer_stream
size_t bufsize;
} audio_mixer_stream_t;
typedef struct audio_statistics
typedef struct audio_mixer_stream_params
{
float average_buffer_saturation;
float std_deviation_percentage;
float close_to_underrun;
float close_to_blocking;
unsigned samples;
} audio_statistics_t;
float volume;
enum audio_mixer_slot_selection_type slot_selection_type;
unsigned slot_selection_idx;
enum audio_mixer_stream_type stream_type;
enum audio_mixer_type type;
enum audio_mixer_state state;
void *buf;
char *basename;
size_t bufsize;
audio_mixer_stop_cb_t cb;
} audio_mixer_stream_params_t;
typedef struct audio_driver
{
@@ -160,17 +140,6 @@ typedef struct audio_driver
size_t (*buffer_size)(void *data);
} audio_driver_t;
typedef struct audio_mixer_stream_params
{
float volume;
enum audio_mixer_type type;
enum audio_mixer_state state;
void *buf;
char *basename;
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);
@@ -295,6 +264,10 @@ bool audio_driver_mixer_add_stream(audio_mixer_stream_params_t *params);
void audio_driver_mixer_play_stream(unsigned i);
void audio_driver_mixer_play_menu_sound(unsigned i);
void audio_driver_mixer_play_menu_sound_looped(unsigned i);
void audio_driver_mixer_play_stream_sequential(unsigned i);
void audio_driver_mixer_play_stream_looped(unsigned i);
@@ -307,15 +280,16 @@ void audio_driver_mixer_set_stream_volume(unsigned i, float vol);
void audio_driver_mixer_remove_stream(unsigned i);
enum resampler_quality audio_driver_get_resampler_quality(void);
enum audio_mixer_state audio_driver_mixer_get_stream_state(unsigned i);
const char *audio_driver_mixer_get_stream_name(unsigned i);
bool compute_audio_buffer_statistics(audio_statistics_t *stats);
void audio_driver_load_menu_sounds(void);
extern audio_driver_t audio_rsound;
extern audio_driver_t audio_audioio;
extern audio_driver_t audio_oss;
extern audio_driver_t audio_alsa;
extern audio_driver_t audio_alsathread;
@@ -330,14 +304,17 @@ 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_coreaudio3;
extern audio_driver_t audio_xenon360;
extern audio_driver_t audio_ps3;
extern audio_driver_t audio_gx;
extern audio_driver_t audio_ax;
extern audio_driver_t audio_psp;
extern audio_driver_t audio_ps2;
extern audio_driver_t audio_ctr_csnd;
extern audio_driver_t audio_ctr_dsp;
extern audio_driver_t audio_switch;
extern audio_driver_t audio_switch_thread;
extern audio_driver_t audio_rwebaudio;
extern audio_driver_t audio_null;
-1
View File
@@ -43,4 +43,3 @@ bool audio_init_thread(const audio_driver_t **out_driver, void **out_data,
const audio_driver_t *driver);
#endif
-2
View File
@@ -219,7 +219,6 @@ static int check_pcm_status(void *data, int channel_type)
return ret;
}
static ssize_t alsa_qsa_write(void *data, const void *buf, size_t size)
{
alsa_t *alsa = (alsa_t*)data;
@@ -328,7 +327,6 @@ static void alsa_qsa_set_nonblock_state(void *data, bool state)
alsa->nonblock = state;
}
static bool alsa_qsa_use_float(void *data)
{
alsa_t *alsa = (alsa_t*)data;
+204
View File
@@ -0,0 +1,204 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2014 - Hans-Kristian Arntzen
* 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 <stdio.h>
#include <stdint.h>
#include <stdlib.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <unistd.h>
#include <errno.h>
#include <sys/audioio.h>
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "../audio_driver.h"
#include "../../verbosity.h"
#define DEFAULT_DEV "/dev/audio"
static void *audioio_init(const char *device, unsigned rate, unsigned latency,
unsigned block_frames,
unsigned *new_out_rate)
{
int *fd = (int*)calloc(1, sizeof(int));
const char *audiodev = device ? device : DEFAULT_DEV;
struct audio_info info;
if (!fd)
return NULL;
AUDIO_INITINFO(&info);
#ifdef AUMODE_PLAY_ALL
info.mode = AUMODE_PLAY_ALL;
#endif
info.play.sample_rate = rate;
info.play.channels = 2;
info.play.precision = 16;
#ifdef AUDIO_ENCODING_SLINEAR
info.play.encoding = AUDIO_ENCODING_SLINEAR;
#else
info.play.encoding = AUDIO_ENCODING_LINEAR;
#endif
if ((*fd = open(audiodev, O_WRONLY)) < 0)
{
free(fd);
perror("open");
return NULL;
}
if (ioctl(*fd, AUDIO_SETINFO, &info) < 0)
goto error;
if (ioctl(*fd, AUDIO_GETINFO, &info) < 0)
goto error;
*new_out_rate = info.play.sample_rate;
return fd;
error:
close(*fd);
free(fd);
perror("ioctl");
return NULL;
}
static ssize_t audioio_write(void *data, const void *buf, size_t size)
{
ssize_t ret;
int *fd = (int*)data;
if (size == 0)
return 0;
if ((ret = write(*fd, buf, size)) < 0)
{
if (errno == EAGAIN && (fcntl(*fd, F_GETFL) & O_NONBLOCK))
return 0;
return -1;
}
return ret;
}
static bool audioio_stop(void *data)
{
struct audio_info info;
int *fd = (int*)data;
if (ioctl(*fd, AUDIO_FLUSH, NULL) < 0)
return false;
if (ioctl(*fd, AUDIO_GETINFO, &info) < 0)
return false;
info.play.pause = true;
return ioctl(*fd, AUDIO_SETINFO, &info) == 0;
}
static bool audioio_start(void *data, bool is_shutdown)
{
struct audio_info info;
int *fd = (int*)data;
if (ioctl(*fd, AUDIO_FLUSH, NULL) < 0)
return false;
if (ioctl(*fd, AUDIO_GETINFO, &info) < 0)
return false;
info.play.pause = false;
return ioctl(*fd, AUDIO_SETINFO, &info) == 0;
}
static bool audioio_alive(void *data)
{
struct audio_info info;
int *fd = (int*)data;
if (ioctl(*fd, AUDIO_GETINFO, &info) < 0)
return false;
return !info.play.pause;
}
static void audioio_set_nonblock_state(void *data, bool state)
{
int rc;
int *fd = (int*)data;
if (state)
rc = fcntl(*fd, F_SETFL, fcntl(*fd, F_GETFL) | O_NONBLOCK);
else
rc = fcntl(*fd, F_SETFL, fcntl(*fd, F_GETFL) & (~O_NONBLOCK));
if (rc != 0)
RARCH_WARN("Could not set nonblocking on audio file descriptor. Will not be able to fast-forward.\n");
}
static void audioio_free(void *data)
{
int *fd = (int*)data;
(void)ioctl(*fd, AUDIO_FLUSH, NULL);
close(*fd);
free(fd);
}
static size_t audioio_buffer_size(void *data)
{
struct audio_info info;
int *fd = (int*)data;
if (ioctl(*fd, AUDIO_GETINFO, &info) < 0)
return false;
return info.play.buffer_size;
}
static size_t audioio_write_avail(void *data)
{
return audioio_buffer_size(data);
}
static bool audioio_use_float(void *data)
{
(void)data;
return false;
}
audio_driver_t audio_audioio = {
audioio_init,
audioio_write,
audioio_stop,
audioio_start,
audioio_alive,
audioio_set_nonblock_state,
audioio_free,
audioio_use_float,
"audioio",
NULL,
NULL,
audioio_write_avail,
audioio_buffer_size,
};
+3 -2
View File
@@ -15,7 +15,6 @@
*/
#include <stdlib.h>
#if TARGET_OS_IPHONE
#include <AudioToolbox/AudioToolbox.h>
#else
@@ -126,7 +125,9 @@ static OSStatus audio_write_cb(void *userdata,
static void coreaudio_interrupt_listener(void *data, UInt32 interrupt_state)
{
(void)data;
#if TARGET_OS_IOS
g_interrupted = (interrupt_state == kAudioSessionBeginInterruption);
#endif
}
#else
static void choose_output_device(coreaudio_t *dev, const char* device)
@@ -219,7 +220,7 @@ static void *coreaudio_init(const char *device,
dev->lock = slock_new();
dev->cond = scond_new();
#if TARGET_OS_IPHONE
#if TARGET_OS_IOS
if (!session_initialized)
{
session_initialized = true;
+382
View File
@@ -0,0 +1,382 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2019 - Stuart Carnie
*
* 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/>.
*/
#import <Foundation/Foundation.h>
#import <AudioToolbox/AudioToolbox.h>
#import <AVFoundation/AVFoundation.h>
#include <stdio.h>
#include <stdatomic.h>
#include <stdlib.h>
#include <memory.h>
#include "../audio_driver.h"
#pragma mark - ringbuffer
typedef struct ringbuffer
{
float *buffer;
size_t cap;
atomic_int len;
size_t writePtr;
size_t readPtr;
} ringbuffer_t;
typedef ringbuffer_t * ringbuffer_h;
static inline size_t rb_len(ringbuffer_h r)
{
return atomic_load_explicit(&r->len, memory_order_relaxed);
}
static inline size_t rb_cap(ringbuffer_h r)
{
return (r->readPtr + r->cap - r->writePtr) % r->cap;
}
static inline size_t rb_avail(ringbuffer_h r)
{
return r->cap - rb_len(r);
}
static inline void rb_advance_write(ringbuffer_h r)
{
r->writePtr = (r->writePtr + 1) % r->cap;
}
static inline void rb_advance_write_n(ringbuffer_h r, size_t n)
{
r->writePtr = (r->writePtr + n) % r->cap;
}
static inline void rb_advance_read(ringbuffer_h r)
{
r->readPtr = (r->readPtr + 1) % r->cap;
}
static inline void rb_len_add(ringbuffer_h r, int n)
{
atomic_fetch_add(&r->len, n);
}
static inline void rb_len_sub(ringbuffer_h r, int n)
{
atomic_fetch_sub(&r->len, n);
}
static void rb_init(ringbuffer_h r, size_t cap)
{
r->buffer = malloc(cap * sizeof(float));
r->cap = cap;
atomic_init(&r->len, 0);
r->writePtr = 0;
r->readPtr = 0;
}
static void rb_free(ringbuffer_h r)
{
free(r->buffer);
bzero(r, sizeof(*r));
}
#define UNLIKELY(x) __builtin_expect((x), 0)
#define LIKELY(x) __builtin_expect((x), 1)
static void rb_write_data(ringbuffer_h r, const float *data, size_t len)
{
size_t avail = rb_avail(r);
size_t n = MIN(len, avail);
size_t first_write = n;
size_t rest_write = 0;
if (r->writePtr + n > r->cap)
{
first_write = r->cap - r->writePtr;
rest_write = n - first_write;
}
memcpy(r->buffer + r->writePtr, data, first_write*sizeof(float));
memcpy(r->buffer, data + first_write, rest_write*sizeof(float));
rb_advance_write_n(r, n);
rb_len_add(r, (int)n);
}
static void rb_read_data(ringbuffer_h r, float *d0, float *d1, size_t len)
{
size_t need = len*2;
do {
size_t have = rb_len(r);
size_t n = MIN(have, need);
int i = 0;
for (; i < n/2; i++)
{
d0[i] = r->buffer[r->readPtr];
rb_advance_read(r);
d1[i] = r->buffer[r->readPtr];
rb_advance_read(r);
}
need -= n;
rb_len_sub(r, (int)n);
if (UNLIKELY(need > 0))
{
/* we got more data */
if (rb_len(r) > 0)
continue;
// underflow
const float quiet = 0.0f;
size_t fill = (need/2)*sizeof(float);
memset_pattern4(&d0[i], &quiet, fill);
memset_pattern4(&d1[i], &quiet, fill);
}
} while (0);
}
#pragma mark - CoreAudio3
static bool g_interrupted;
@interface CoreAudio3 : NSObject {
ringbuffer_t _rb;
dispatch_semaphore_t _sema;
AUAudioUnit *_au;
size_t _bufferSize;
BOOL _nonBlock;
}
@property (nonatomic, readwrite) BOOL nonBlock;
@property (nonatomic, readonly) BOOL paused;
@property (nonatomic, readonly) size_t writeAvailableInBytes;
@property (nonatomic, readonly) size_t bufferSizeInBytes;
- (instancetype)initWithRate:(NSUInteger)rate
latency:(NSUInteger)latency;
- (ssize_t)writeFloat:(const float *)data samples:(size_t)samples;
- (void)start;
- (void)stop;
@end
@implementation CoreAudio3
- (instancetype)initWithRate:(NSUInteger)rate
latency:(NSUInteger)latency {
if (self = [super init])
{
_sema = dispatch_semaphore_create(0);
_bufferSize = (latency * rate) / 1000;
_bufferSize *= 2; // stereo
rb_init(&_rb, _bufferSize);
AudioComponentDescription desc = {
.componentType = kAudioUnitType_Output,
.componentSubType = kAudioUnitSubType_DefaultOutput,
.componentManufacturer = kAudioUnitManufacturer_Apple,
};
NSError *err;
AUAudioUnit *au = [[AUAudioUnit alloc] initWithComponentDescription:desc error:&err];
if (err != nil)
return nil;
AVAudioFormat *format = au.outputBusses[0].format;
if (format.channelCount != 2)
return nil;
AVAudioFormat *renderFormat = [[AVAudioFormat alloc] initStandardFormatWithSampleRate:rate channels:2];
[au.inputBusses[0] setFormat:renderFormat error:&err];
if (err != nil)
return nil;
ringbuffer_h rb = &_rb;
__block dispatch_semaphore_t sema = _sema;
au.outputProvider = ^AUAudioUnitStatus(AudioUnitRenderActionFlags * actionFlags, const AudioTimeStamp * timestamp, AUAudioFrameCount frameCount, NSInteger inputBusNumber, AudioBufferList * inputData) {
rb_read_data(rb, inputData->mBuffers[0].mData, inputData->mBuffers[1].mData, frameCount);
dispatch_semaphore_signal(sema);
return 0;
};
[au allocateRenderResourcesAndReturnError:&err];
if (err != nil)
return nil;
_au = au;
RARCH_LOG("[CoreAudio3]: Using buffer size of %u bytes: (latency = %u ms)\n", (unsigned)self.bufferSizeInBytes, latency);
[self start];
}
return self;
}
- (void)dealloc {
rb_free(&_rb);
}
- (BOOL)paused {
return !_au.running;
}
- (size_t)bufferSizeInBytes {
return _bufferSize * sizeof(float);
}
- (size_t)writeAvailableInBytes {
return rb_avail(&_rb) * sizeof(float);
}
- (void)start {
NSError *err;
[_au startHardwareAndReturnError:&err];
}
- (void)stop {
[_au stopHardware];
}
- (ssize_t)writeFloat:(const float *)data samples:(size_t)samples {
size_t written = 0;
while (!g_interrupted && samples > 0)
{
size_t write_avail = rb_avail(&_rb);
if (write_avail > samples)
write_avail = samples;
rb_write_data(&_rb, data, write_avail);
data += write_avail;
written += write_avail;
samples -= write_avail;
if (_nonBlock)
break;
if (write_avail == 0)
dispatch_semaphore_wait(_sema, DISPATCH_TIME_FOREVER);
}
return written;
}
@end
static void coreaudio3_free(void *data)
{
CoreAudio3 *dev = (__bridge_transfer CoreAudio3 *)data;
if (dev == nil)
return;
[dev stop];
dev = nil;
}
static void *coreaudio3_init(const char *device,
unsigned rate, unsigned latency,
unsigned block_frames,
unsigned *new_rate)
{
CoreAudio3 *dev = [[CoreAudio3 alloc] initWithRate:rate
latency:latency];
*new_rate = rate;
return (__bridge_retained void *)dev;
}
static ssize_t coreaudio3_write(void *data, const void *buf_, size_t size)
{
CoreAudio3 *dev = (__bridge CoreAudio3 *)data;
return [dev writeFloat:(const float *)buf_ samples:size/sizeof(float)] * sizeof(float);
}
static void coreaudio3_set_nonblock_state(void *data, bool state)
{
CoreAudio3 *dev = (__bridge CoreAudio3 *)data;
if (dev == nil)
return;
dev.nonBlock = state;
}
static bool coreaudio3_alive(void *data)
{
CoreAudio3 *dev = (__bridge CoreAudio3 *)data;
if (dev == nil)
return NO;
return !dev.paused;
}
static bool coreaudio3_stop(void *data)
{
CoreAudio3 *dev = (__bridge CoreAudio3 *)data;
if (dev == nil)
return NO;
[dev stop];
return dev.paused;
}
static bool coreaudio3_start(void *data, bool is_shutdown)
{
CoreAudio3 *dev = (__bridge CoreAudio3 *)data;
if (dev == nil)
return NO;
[dev start];
return !dev.paused;
}
static bool coreaudio3_use_float(void *data)
{
return YES;
}
static size_t coreaudio3_write_avail(void *data)
{
CoreAudio3 *dev = (__bridge CoreAudio3 *)data;
if (dev == nil)
return 0;
return dev.writeAvailableInBytes;
}
static size_t coreaudio3_buffer_size(void *data)
{
CoreAudio3 *dev = (__bridge CoreAudio3 *)data;
if (dev == nil)
return 0;
return dev.bufferSizeInBytes;
}
audio_driver_t audio_coreaudio3 = {
coreaudio3_init,
coreaudio3_write,
coreaudio3_stop,
coreaudio3_start,
coreaudio3_alive,
coreaudio3_set_nonblock_state,
coreaudio3_free,
coreaudio3_use_float,
"coreaudio3",
coreaudio3_write_avail,
coreaudio3_buffer_size,
};
-2
View File
@@ -56,7 +56,6 @@ static void ctr_csnd_audio_update_playpos(ctr_csnd_audio_t* ctr)
ctr->cpu_ticks_last += samples_played * CTR_CSND_CPU_TICKS_PER_SAMPLE;
}
Result csndPlaySound_custom(int chn, u32 flags, float vol, float pan,
void* data0, void* data1, u32 size)
{
@@ -289,7 +288,6 @@ static size_t ctr_csnd_audio_buffer_size(void *data)
return CTR_CSND_AUDIO_COUNT;
}
audio_driver_t audio_ctr_csnd = {
ctr_csnd_audio_init,
ctr_csnd_audio_write,
-2
View File
@@ -195,7 +195,6 @@ static size_t ctr_dsp_audio_buffer_size(void *data)
return CTR_DSP_AUDIO_COUNT;
}
audio_driver_t audio_ctr_dsp = {
ctr_dsp_audio_init,
ctr_dsp_audio_write,
@@ -211,4 +210,3 @@ audio_driver_t audio_ctr_dsp = {
ctr_dsp_audio_write_avail,
ctr_dsp_audio_buffer_size
};
+27 -3
View File
@@ -32,7 +32,9 @@
#include <retro_inline.h>
#include <retro_miscellaneous.h>
#include <retro_timers.h>
#ifdef HAVE_THREADS
#include <rthreads/rthreads.h>
#endif
#include <queues/fifo_queue.h>
#include "../audio_driver.h"
@@ -49,7 +51,6 @@
#pragma comment(lib, "dxguid")
#endif
typedef struct dsound
{
LPDIRECTSOUND ds;
@@ -59,7 +60,11 @@ typedef struct dsound
CRITICAL_SECTION crit;
HANDLE event;
#ifdef HAVE_THREADS
sthread_t *thread;
#else
HANDLE thread;
#endif
unsigned buffer_size;
@@ -137,7 +142,11 @@ static INLINE void release_region(dsound_t *ds, const struct audio_lock *region)
region->size1, region->chunk2, region->size2);
}
#ifdef HAVE_THREADS
static void dsound_thread(void *data)
#else
static DWORD CALLBACK dsound_thread(PVOID data)
#endif
{
DWORD write_ptr;
dsound_t *ds = (dsound_t*)data;
@@ -164,7 +173,6 @@ static void dsound_thread(void *data)
/* No space to write, or we don't have data in our fifo,
* but we can wait some time before it underruns ... */
/* We could opt for using the notification interface,
* but it is not guaranteed to work, so use high
* priority sleeping patterns.
@@ -219,7 +227,13 @@ static void dsound_stop_thread(dsound_t *ds)
ds->thread_alive = false;
#ifdef HAVE_THREADS
sthread_join(ds->thread);
#else
WaitForSingleObject(ds->thread, INFINITE);
CloseHandle(ds->thread);
#endif
ds->thread = NULL;
}
@@ -228,7 +242,12 @@ static bool dsound_start_thread(dsound_t *ds)
if (!ds->thread)
{
ds->thread_alive = true;
ds->thread = sthread_create(dsound_thread, ds);
#ifdef HAVE_THREADS
ds->thread = sthread_create(dsound_thread, ds);
#else
ds->thread = CreateThread(NULL, 0, dsound_thread, ds, 0, NULL);
#endif
if (!ds->thread)
return false;
}
@@ -261,7 +280,12 @@ static void dsound_free(void *data)
if (ds->thread)
{
ds->thread_alive = false;
#ifdef HAVE_THREADS
sthread_join(ds->thread);
#else
WaitForSingleObject(ds->thread, INFINITE);
CloseHandle(ds->thread);
#endif
}
DeleteCriticalSection(&ds->crit);
+1 -11
View File
@@ -39,7 +39,6 @@ typedef struct
volatile unsigned dma_write;
size_t write_ptr;
OSCond cond;
bool nonblock;
bool is_paused;
} gx_audio_t;
@@ -63,8 +62,6 @@ static void dma_callback(void)
DCFlushRange(wa->data[wa->dma_next], CHUNK_SIZE);
AIInitDMA((uint32_t)wa->data[wa->dma_next], CHUNK_SIZE);
OSSignalCond(wa->cond);
}
static void *gx_audio_init(const char *device,
@@ -95,8 +92,6 @@ static void *gx_audio_init(const char *device,
*new_rate = 48000;
}
OSInitThreadQueue(&wa->cond);
wa->dma_write = BLOCKS - 1;
DCFlushRange(wa->data, sizeof(wa->data));
stop_audio = false;
@@ -133,8 +128,7 @@ static ssize_t gx_audio_write(void *data, const void *buf_, size_t size)
/* FIXME: Nonblocking audio should break out of loop
* when it has nothing to write. */
while ((wa->dma_write == wa->dma_next ||
wa->dma_write == wa->dma_busy) && !wa->nonblock)
OSSleepThread(wa->cond);
wa->dma_write == wa->dma_busy) && !wa->nonblock);
copy_swapped(wa->data[wa->dma_write] + wa->write_ptr, buf, to_write);
@@ -205,10 +199,6 @@ static void gx_audio_free(void *data)
AIStopDMA();
AIRegisterDMACallback(NULL);
if (wa->cond)
OSCloseThreadQueue(wa->cond);
wa->cond = 0;
free(data);
}
+1 -1
View File
@@ -21,7 +21,7 @@ static void *null_audio_init(const char *device, unsigned rate, unsigned latency
unsigned block_frames,
unsigned *new_rate)
{
RARCH_ERR("Using the null audio driver. RetroArch will be silent.");
RARCH_ERR("Using the null audio driver. RetroArch will be silent.\n");
(void)device;
(void)rate;
-1
View File
@@ -232,7 +232,6 @@ static bool sl_start(void *data, bool is_shutdown)
return sl->is_paused ? false : true;
}
static ssize_t sl_write(void *data, const void *buf_, size_t size)
{
sl_t *sl = (sl_t*)data;
+292
View File
@@ -0,0 +1,292 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2014-2017 - Francisco Javier Trujillo Mata
*
* 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 <stdint.h>
#include <malloc.h>
#include <stdio.h>
#include <string.h>
#include <kernel.h>
#include <audsrv.h>
#include "../audio_driver.h"
typedef struct ps2_audio
{
fifo_buffer_t* buffer;
bool nonblocking;
volatile bool running;
int worker_thread;
int lock;
int cond_lock;
} ps2_audio_t;
static ps2_audio_t *backup_ps2;
static u8 audioThreadStack[4 * 1024] __attribute__ ((aligned(16)));
#define AUDIO_OUT_BUFFER 2 * 1024
#define AUDIO_BUFFER 64 * 1024
#define AUDIO_CHANNELS 2
#define AUDIO_BITS 16
#define AUDIO_PRIORITY 0x7F /* LOWER VALUE GRATHER PRIORITY*/
static void audioMainLoop(void *data)
{
char out_tmp[AUDIO_OUT_BUFFER];
ps2_audio_t* ps2 = backup_ps2;
while (ps2->running)
{
size_t size;
WaitSema(ps2->lock);
size = MIN(fifo_read_avail(ps2->buffer), sizeof(out_tmp));
fifo_read(ps2->buffer, out_tmp, size);
iSignalSema(ps2->lock);
iSignalSema(ps2->cond_lock);
audsrv_wait_audio(size);
audsrv_play_audio(out_tmp, size);
}
audsrv_stop_audio();
ExitDeleteThread();
}
static void audioCreateThread(ps2_audio_t *ps2)
{
int ret;
ee_thread_t thread;
thread.func=&audioMainLoop;
thread.stack=audioThreadStack;
thread.stack_size=sizeof(audioThreadStack);
thread.gp_reg=&_gp;
thread.initial_priority=AUDIO_PRIORITY;
thread.attr=thread.option=0;
/*Backup the PS2 content to be used in the thread */
backup_ps2 = ps2;
ps2->running = true;
ps2->worker_thread = CreateThread(&thread);
if (ps2->worker_thread >= 0)
{
ret = StartThread(ps2->worker_thread, NULL);
if (ret < 0)
printf("sound_init: StartThread returned %d\n", ret);
}
else
printf("CreateThread failed: %d\n", ps2->worker_thread);
}
static void audioStopNDeleteThread(ps2_audio_t *ps2)
{
ps2->running = false;
if (ps2->worker_thread)
ps2->worker_thread = 0;
}
static void audioConfigure(ps2_audio_t *ps2, unsigned rate)
{
int err;
struct audsrv_fmt_t format;
format.bits = AUDIO_BITS;
format.freq = rate;
format.channels = AUDIO_CHANNELS;
err = audsrv_set_format(&format);
if (err){
printf("set format returned %d\n", err);
printf("audsrv returned error string: %s\n", audsrv_get_error_string());
}
audsrv_set_volume(MAX_VOLUME);
}
static void audioCreateSemas(ps2_audio_t *ps2)
{
ee_sema_t lock_info;
ee_sema_t cond_lock_info;
lock_info.max_count = 1;
lock_info.init_count = 1;
lock_info.option = 0;
ps2->lock = CreateSema(&lock_info);
cond_lock_info.init_count = 1;
cond_lock_info.max_count = 1;
cond_lock_info.option = 0;
ps2->cond_lock = CreateSema(&cond_lock_info);
}
static void *ps2_audio_init(const char *device,
unsigned rate, unsigned latency,
unsigned block_frames,
unsigned *new_rate)
{
ps2_audio_t *ps2 = (ps2_audio_t*)calloc(1, sizeof(ps2_audio_t));
if (!ps2)
return NULL;
ps2->buffer = fifo_new(AUDIO_BUFFER);
audioConfigure(ps2, rate);
audioCreateSemas(ps2);
audioCreateThread(ps2);
return ps2;
}
static void ps2_audio_free(void *data)
{
ps2_audio_t* ps2 = (ps2_audio_t*)data;
if(!ps2)
return;
if(ps2->running){
audioStopNDeleteThread(ps2);
if (ps2->lock){
iDeleteSema(ps2->lock);
ps2->lock = 0;
}
if (ps2->cond_lock){
iDeleteSema(ps2->cond_lock);
ps2->cond_lock = 0;
}
}
fifo_free(ps2->buffer);
free(ps2);
}
static ssize_t ps2_audio_write(void *data, const void *buf, size_t size)
{
ps2_audio_t* ps2 = (ps2_audio_t*)data;
if (!ps2->running)
return -1;
if (ps2->nonblocking)
{
if (fifo_write_avail(ps2->buffer) < size)
return 0;
}
while (fifo_write_avail(ps2->buffer) < size)
WaitSema(ps2->cond_lock);
WaitSema(ps2->lock);
fifo_write(ps2->buffer, buf, size);
iSignalSema(ps2->lock);
return size;
}
static bool ps2_audio_alive(void *data)
{
bool alive = false;
ps2_audio_t* ps2 = (ps2_audio_t*)data;
if (ps2)
alive = ps2->running;
return alive;
}
static bool ps2_audio_stop(void *data)
{
bool stop = true;
ps2_audio_t* ps2 = (ps2_audio_t*)data;
if (ps2)
{
audioStopNDeleteThread(ps2);
audsrv_stop_audio();
}
return stop;
}
static bool ps2_audio_start(void *data, bool is_shutdown)
{
ps2_audio_t* ps2 = (ps2_audio_t*)data;
bool start = true;
if (ps2)
{
if (!ps2->running && !ps2->worker_thread)
audioCreateThread(ps2);
}
return start;
}
static void ps2_audio_set_nonblock_state(void *data, bool toggle)
{
ps2_audio_t* ps2 = (ps2_audio_t*)data;
if (ps2)
ps2->nonblocking = toggle;
}
static bool ps2_audio_use_float(void *data)
{
return false;
}
static size_t ps2_audio_write_avail(void *data)
{
ps2_audio_t* ps2 = (ps2_audio_t*)data;
if (ps2 && ps2->running)
{
size_t size;
WaitSema(ps2->lock);
size = AUDIO_BUFFER - fifo_read_avail(ps2->buffer);
iSignalSema(ps2->lock);
return size;
}
return 0;
}
static size_t ps2_audio_buffer_size(void *data)
{
return AUDIO_BUFFER;
}
audio_driver_t audio_ps2 = {
ps2_audio_init,
ps2_audio_write,
ps2_audio_stop,
ps2_audio_start,
ps2_audio_alive,
ps2_audio_set_nonblock_state,
ps2_audio_free,
ps2_audio_use_float,
"ps2",
NULL,
NULL,
ps2_audio_write_avail,
ps2_audio_buffer_size
};
+32 -8
View File
@@ -16,21 +16,28 @@
*/
#include <stdint.h>
#if defined(VITA) || defined(PSP)
#include <malloc.h>
#endif
#include <stdio.h>
#include <string.h>
#include <rthreads/rthreads.h>
#include <queues/fifo_queue.h>
#ifdef VITA
#if defined(VITA)
#include <psp2/kernel/processmgr.h>
#include <psp2/kernel/threadmgr.h>
#include <psp2/kernel/sysmem.h>
#include <psp2/audioout.h>
#else
#elif defined(PSP)
#include <pspkernel.h>
#include <pspaudio.h>
#elif defined(ORBIS)
#include <audioout.h>
#define SCE_AUDIO_OUT_PORT_TYPE_MAIN 0
#define SCE_AUDIO_OUT_MODE_STEREO 1
#define SceUID uint32_t
#endif
#include "../audio_driver.h"
@@ -64,10 +71,14 @@ static void audioMainLoop(void *data)
{
psp_audio_t* psp = (psp_audio_t*)data;
#ifdef VITA
#if defined(VITA)
int port = sceAudioOutOpenPort(
SCE_AUDIO_OUT_PORT_TYPE_MAIN, AUDIO_OUT_COUNT,
psp->rate, SCE_AUDIO_OUT_MODE_STEREO);
#elif defined(ORBIS)
int port = sceAudioOutOpen(0xff,
SCE_AUDIO_OUT_PORT_TYPE_MAIN, 0, AUDIO_OUT_COUNT,
psp->rate, SCE_AUDIO_OUT_MODE_STEREO);
#else
sceAudioSRCChReserve(AUDIO_OUT_COUNT, psp->rate, 2);
#endif
@@ -95,7 +106,7 @@ static void audioMainLoop(void *data)
scond_signal(psp->cond);
slock_unlock(psp->cond_lock);
#ifdef VITA
#if defined(VITA) || defined(ORBIS)
sceAudioOutOutput(port,
cond ? (psp->zeroBuffer)
: (psp->buffer + read_pos_2));
@@ -105,8 +116,10 @@ static void audioMainLoop(void *data)
#endif
}
#ifdef VITA
#if defined(VITA)
sceAudioOutReleasePort(port);
#elif defined(ORBIS)
sceAudioOutClose(port);
#else
sceAudioSRCChRelease();
#endif
@@ -127,12 +140,23 @@ static void *psp_audio_init(const char *device,
(void)device;
(void)latency;
#ifdef ORBIS
psp->buffer = (uint32_t*)
malloc(AUDIO_BUFFER_SIZE * sizeof(uint32_t));
#else
/* Cache aligned, not necessary but helpful. */
psp->buffer = (uint32_t*)
memalign(64, AUDIO_BUFFER_SIZE * sizeof(uint32_t));
#endif
memset(psp->buffer, 0, AUDIO_BUFFER_SIZE * sizeof(uint32_t));
#ifdef ORBIS
psp->zeroBuffer = (uint32_t*)
malloc(AUDIO_OUT_COUNT * sizeof(uint32_t));
#else
psp->zeroBuffer = (uint32_t*)
memalign(64, AUDIO_OUT_COUNT * sizeof(uint32_t));
#endif
memset(psp->zeroBuffer, 0, AUDIO_OUT_COUNT * sizeof(uint32_t));
psp->read_pos = 0;
@@ -228,7 +252,6 @@ static bool psp_audio_alive(void *data)
return psp->running;
}
static bool psp_audio_stop(void *data)
{
psp_audio_t* psp = (psp_audio_t*)data;
@@ -294,7 +317,6 @@ static size_t psp_buffer_size(void *data)
return AUDIO_BUFFER_SIZE /** sizeof(uint32_t)*/;
}
audio_driver_t audio_psp = {
psp_audio_init,
psp_audio_write,
@@ -304,8 +326,10 @@ audio_driver_t audio_psp = {
psp_audio_set_nonblock_state,
psp_audio_free,
psp_audio_use_float,
#ifdef VITA
#if defined(VITA)
"vita",
#elif defined(ORBIS)
"orbis",
#else
"psp",
#endif
+136 -73
View File
@@ -1,4 +1,6 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2018 - misson20000
* Copyright (C) 2018 - m4xw
*
* 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-
@@ -17,12 +19,16 @@
#include <malloc.h>
#include <stdint.h>
#include<libtransistor/nx.h>
#include<libtransistor/alloc_pages.h>
#include "switch_audio_compat.h"
#include "../audio_driver.h"
#include "../../verbosity.h"
#ifdef HAVE_LIBNX
#define BUFFER_COUNT 5
#else
#define BUFFER_COUNT 3
#endif
static const int sample_rate = 48000;
static const int max_num_samples = sample_rate;
static const int num_channels = 2;
@@ -30,38 +36,57 @@ static const size_t sample_buffer_size = ((max_num_samples * num_channels * size
typedef struct
{
audio_output_t output;
handle_t event;
audio_output_buffer_t buffers[3];
audio_output_buffer_t *current_buffer;
bool blocking;
bool is_paused;
uint64_t last_append;
unsigned latency;
compat_audio_out_buffer buffers[BUFFER_COUNT];
compat_audio_out_buffer *current_buffer;
#ifndef HAVE_LIBNX
audio_output_t output;
handle_t event;
#endif
} switch_audio_t;
static uint32_t switch_audio_data_size(void)
{
#ifdef HAVE_LIBNX
static const int framerate = 1000 / 30;
static const int samplecount = (sample_rate / framerate);
return (samplecount * num_channels * sizeof(uint16_t));
#else
return sample_buffer_size;
#endif
}
static size_t switch_audio_buffer_size(void *data)
{
(void) data;
#ifdef HAVE_LIBNX
return (switch_audio_data_size() + 0xfff) & ~0xfff;
#else
return sample_buffer_size;
#endif
}
static ssize_t switch_audio_write(void *data, const void *buf, size_t size)
{
size_t to_write = size;
switch_audio_t *swa = (switch_audio_t*) data;
#if 0
RARCH_LOG("write %ld samples\n", size/sizeof(uint16_t));
#endif
if (!swa)
return -1;
if (!swa->current_buffer)
{
uint32_t num;
if (audio_ipc_output_get_released_buffer(&swa->output, &num, &swa->current_buffer) != RESULT_OK)
if (switch_audio_ipc_output_get_released_buffer(swa, num) != 0)
{
RARCH_LOG("Failed to get released buffer?\n");
return -1;
}
#if 0
RARCH_LOG("got buffer, num %d, ptr %p\n", num, swa->current_buffer);
#endif
if (num < 1)
swa->current_buffer = NULL;
@@ -69,51 +94,48 @@ static ssize_t switch_audio_write(void *data, const void *buf, size_t size)
{
if (swa->blocking)
{
RARCH_LOG("No buffer, blocking...\n");
while(swa->current_buffer == NULL)
{
uint32_t num;
uint32_t handle_idx;
uint32_t handle_idx = 0;
num = 0;
#ifdef HAVE_LIBNX
if (audoutWaitPlayFinish(&swa->current_buffer, &num, U64_MAX) != 0) { }
#else
svcWaitSynchronization(&handle_idx, &swa->event, 1, 33333333);
svcResetSignal(swa->event);
if (audio_ipc_output_get_released_buffer(&swa->output, &num, &swa->current_buffer) != RESULT_OK)
if (switch_audio_ipc_output_get_released_buffer(swa, num) != 0)
return -1;
#endif
}
} else {
}
else
/* no buffer, nonblocking... */
return 0;
}
}
swa->current_buffer->data_size = 0;
}
if (to_write > sample_buffer_size - swa->current_buffer->data_size)
to_write = sample_buffer_size - swa->current_buffer->data_size;
if (to_write > switch_audio_buffer_size(NULL) - swa->current_buffer->data_size)
to_write = switch_audio_buffer_size(NULL) - swa->current_buffer->data_size;
#ifndef HAVE_LIBNX
memcpy(((uint8_t*) swa->current_buffer->sample_data) + swa->current_buffer->data_size, buf, to_write);
#else
memcpy(((uint8_t*) swa->current_buffer->buffer) + swa->current_buffer->data_size, buf, to_write);
#endif
swa->current_buffer->data_size += to_write;
swa->current_buffer->buffer_size = sample_buffer_size;
swa->current_buffer->buffer_size = switch_audio_buffer_size(NULL);
if (swa->current_buffer->data_size > (48000*swa->latency)/1000)
if (swa->current_buffer->data_size > (48000 * swa->latency) / 1000)
{
result_t r = audio_ipc_output_append_buffer(&swa->output, swa->current_buffer);
if (r != RESULT_OK)
{
RARCH_ERR("failed to append buffer: 0x%x\n", r);
return -1;
}
if (switch_audio_ipc_output_append_buffer(swa, swa->current_buffer) != 0)
return -1;
swa->current_buffer = NULL;
}
#if 0
RARCH_LOG("submitted %ld samples, %ld samples since last submit\n",
to_write/num_channels/sizeof(uint16_t),
(svcGetSystemTick() - swa->last_append) * sample_rate / 19200000);
#endif
swa->last_append = svcGetSystemTick();
return to_write;
@@ -125,25 +147,32 @@ static bool switch_audio_stop(void *data)
if (!swa)
return false;
if(!swa->is_paused) {
if(audio_ipc_output_stop(&swa->output) != RESULT_OK)
/* TODO/FIXME - fix libnx codepath */
#ifndef HAVE_LIBNX
if (!swa->is_paused)
if (switch_audio_ipc_output_stop(swa) != 0)
return false;
}
swa->is_paused = true;
#endif
return true;
}
static bool switch_audio_start(void *data, bool is_shutdown)
{
switch_audio_t *swa = (switch_audio_t*) data;
if (!swa)
return false;
if(swa->is_paused) {
if (audio_ipc_output_start(&swa->output) != RESULT_OK)
/* TODO/FIXME - fix libnx codepath */
#ifndef HAVE_LIBNX
if (swa->is_paused)
if (switch_audio_ipc_output_start(swa) != 0)
return false;
}
swa->is_paused = false;
#endif
return true;
}
@@ -159,8 +188,22 @@ static void switch_audio_free(void *data)
{
switch_audio_t *swa = (switch_audio_t*) data;
if (!swa)
return;
#ifdef HAVE_LIBNX
if (!swa->is_paused)
audoutStopAudioOut();
audoutExit();
int i;
for (i = 0; i < BUFFER_COUNT; i++)
free(swa->buffers[i].buffer);
#else
audio_ipc_output_close(&swa->output);
audio_ipc_finalize();
#endif
free(swa);
}
@@ -189,11 +232,10 @@ static void switch_audio_set_nonblock_state(void *data, bool state)
}
static void *switch_audio_init(const char *device,
unsigned rate, unsigned latency,
unsigned block_frames,
unsigned *new_rate)
unsigned rate, unsigned latency,
unsigned block_frames,
unsigned *new_rate)
{
result_t r;
unsigned i;
char names[8][0x20];
uint32_t num_names = 0;
@@ -202,12 +244,14 @@ static void *switch_audio_init(const char *device,
if (!swa)
return NULL;
r = audio_ipc_init();
if (r != RESULT_OK)
if (switch_audio_ipc_init() != 0)
goto fail;
if (audio_ipc_list_outputs(&names[0], 8, &num_names) != RESULT_OK)
#ifdef HAVE_LIBNX
if (audoutStartAudioOut() != 0)
goto fail;
#else
if (audio_ipc_list_outputs(&names[0], 8, &num_names) != 0)
goto fail_audio_ipc;
if (num_names != 1)
@@ -216,7 +260,7 @@ static void *switch_audio_init(const char *device,
goto fail_audio_ipc;
}
if (audio_ipc_open_output(names[0], &swa->output) != RESULT_OK)
if (audio_ipc_open_output(names[0], &swa->output) != 0)
goto fail_audio_ipc;
if (swa->output.sample_rate != sample_rate)
@@ -239,51 +283,70 @@ static void *switch_audio_init(const char *device,
goto fail_audio_output;
}
if (audio_ipc_output_register_buffer_event(&swa->output, &swa->event) != RESULT_OK)
if (audio_ipc_output_register_buffer_event(&swa->output, &swa->event) != 0)
goto fail_audio_output;
#endif
swa->blocking = block_frames;
*new_rate = swa->output.sample_rate;
for(i = 0; i < 3; i++)
for (i = 0; i < BUFFER_COUNT; i++)
{
swa->buffers[i].ptr = &swa->buffers[i].sample_data;
swa->buffers[i].sample_data = alloc_pages(sample_buffer_size, sample_buffer_size, NULL);
swa->buffers[i].buffer_size = sample_buffer_size;
swa->buffers[i].data_size = sample_buffer_size;
swa->buffers[i].unknown = 0;
swa->buffers[i].buffer_size = switch_audio_buffer_size(NULL);
swa->buffers[i].data_size = switch_audio_data_size();
if(swa->buffers[i].sample_data == NULL)
#ifdef HAVE_LIBNX
swa->buffers[i].next = NULL; /* Unused */
swa->buffers[i].data_offset = 0;
swa->buffers[i].buffer = memalign(0x1000, switch_audio_buffer_size(NULL));
if (swa->buffers[i].buffer == NULL)
goto fail_audio_output;
memset(swa->buffers[i].buffer, 0, switch_audio_buffer_size(NULL));
#else
swa->buffers[i].ptr = &swa->buffers[i].sample_data;
swa->buffers[i].unknown = 0;
swa->buffers[i].sample_data = alloc_pages(sample_buffer_size, switch_audio_buffer_size(NULL), NULL);
if (swa->buffers[i].sample_data == NULL)
goto fail_audio_output;
if (audio_ipc_output_append_buffer(&swa->output, &swa->buffers[i]) != RESULT_OK)
#endif
if (switch_audio_ipc_output_append_buffer(swa, &swa->buffers[i]) != 0)
goto fail_audio_output;
}
#ifdef HAVE_LIBNX
*new_rate = audoutGetSampleRate();
#else
*new_rate = swa->output.sample_rate;
#endif
swa->current_buffer = NULL;
swa->latency = latency;
swa->last_append = svcGetSystemTick();
swa->blocking = block_frames;
swa->is_paused = true;
RARCH_LOG("[Audio]: Audio initialized\n");
return swa;
fail_audio_output:
/* TODO/FIXME - fix libnx codepath */
#ifndef HAVE_LIBNX
audio_ipc_output_close(&swa->output);
#endif
fail_audio_ipc:
/* TODO/FIXME - fix libnx codepath */
#ifndef HAVE_LIBNX
audio_ipc_finalize();
#endif
fail:
free(swa);
if (swa)
free(swa);
return NULL;
}
static size_t switch_audio_buffer_size(void *data)
{
(void) data;
return sample_buffer_size;
}
audio_driver_t audio_switch = {
switch_audio_init,
switch_audio_write,
+93
View File
@@ -0,0 +1,93 @@
#ifndef _SWITCH_AUDIO_COMPAT_H
#define _SWITCH_AUDIO_COMPAT_H
#ifdef HAVE_LIBNX
#include <switch.h>
#else
#include <libtransistor/nx.h>
#endif
#ifdef HAVE_LIBNX
/* libnx definitions */
/* threading */
typedef Mutex compat_mutex;
typedef Thread compat_thread;
typedef CondVar compat_condvar;
#define compat_thread_create(thread, func, data, stack_size, prio, cpu) \
threadCreate(thread, func, data, stack_size, prio, cpu)
#define compat_thread_start(thread) \
threadStart(thread)
#define compat_thread_join(thread) \
threadWaitForExit(thread)
#define compat_thread_close(thread) \
threadClose(thread)
#define compat_mutex_create(mutex) \
mutexInit(mutex)
#define compat_mutex_lock(mutex) \
mutexLock(mutex)
#define compat_mutex_unlock(mutex) \
mutexUnlock(mutex)
#define compat_condvar_create(condvar) \
condvarInit(condvar)
#define compat_condvar_wait(condvar, mutex) \
condvarWait(condvar, mutex)
#define compat_condvar_wake_all(condvar) \
condvarWakeAll(condvar)
/* audio */
typedef AudioOutBuffer compat_audio_out_buffer;
#define switch_audio_ipc_init audoutInitialize
#define switch_audio_ipc_finalize audoutExit
#define switch_audio_ipc_output_get_released_buffer(a, b) audoutGetReleasedAudioOutBuffer(&a->current_buffer, &b)
#define switch_audio_ipc_output_append_buffer(a, b) audoutAppendAudioOutBuffer(b)
#define switch_audio_ipc_output_stop(a) audoutStopAudioOut()
#define switch_audio_ipc_output_start(a) audoutStartAudioOut()
#else
/* libtransistor definitions */
typedef result_t Result;
#define R_FAILED(r) ((r) != RESULT_OK)
/* threading */
typedef trn_mutex_t compat_mutex;
typedef trn_thread_t compat_thread;
typedef trn_condvar_t compat_condvar;
#define compat_thread_create(thread, func, data, stack_size, prio, cpu) \
trn_thread_create(thread, func, data, prio, cpu, stack_size, NULL)
#define compat_thread_start(thread) \
trn_thread_start(thread)
#define compat_thread_join(thread) \
trn_thread_join(thread, -1)
#define compat_thread_close(thread) \
trn_thread_destroy(thread)
#define compat_mutex_create(mutex) \
trn_mutex_create(mutex)
#define compat_mutex_lock(mutex) \
trn_mutex_lock(mutex)
#define compat_mutex_unlock(mutex) \
trn_mutex_unlock(mutex)
#define compat_condvar_create(condvar) \
trn_condvar_create(condvar)
#define compat_condvar_wait(condvar, mutex) \
trn_condvar_wait(condvar, mutex, -1)
#define compat_condvar_wake_all(condvar) \
trn_condvar_signal(condvar, -1)
/* audio */
typedef audio_output_buffer_t compat_audio_out_buffer;
#define switch_audio_ipc_init audio_ipc_init
#define switch_audio_ipc_finalize audio_ipc_finalize
#define switch_audio_ipc_output_get_released_buffer(a, b) audio_ipc_output_get_released_buffer(&a->output, &b, &a->current_buffer)
#define switch_audio_ipc_output_append_buffer(a, b) audio_ipc_output_append_buffer(&a->output, b)
#define switch_audio_ipc_output_stop(a) audio_ipc_output_stop(&a->output)
#define switch_audio_ipc_output_start(a) audio_ipc_output_start(&a->output)
#endif
#endif
+447
View File
@@ -0,0 +1,447 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2018 - misson20000
* Copyright (C) 2018 - m4xw
* Copyright (C) 2018 - lifajucejo
*
* 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 <stdio.h>
#include <string.h>
#include <malloc.h>
#include <stdint.h>
#include <sys/unistd.h>
#ifdef HAVE_LIBNX
#include <switch.h>
#else
#include <libtransistor/nx.h>
#endif
#include <queues/fifo_queue.h>
#include "../audio_driver.h"
#include "../../verbosity.h"
#include "../../tasks/tasks_internal.h"
#include "switch_audio_compat.h"
static const size_t thread_stack_size = 1024 * 8;
static const int thread_preferred_cpu = 2;
static const int channel_count = 2;
static const size_t sample_size = sizeof(uint16_t);
static const size_t frame_size = channel_count * sample_size;
#define AUDIO_BUFFER_COUNT 2
typedef struct
{
fifo_buffer_t* fifo;
compat_mutex fifoLock;
compat_condvar cond;
compat_mutex condLock;
size_t fifoSize;
volatile bool running;
bool nonblocking;
bool is_paused;
compat_audio_out_buffer buffers[AUDIO_BUFFER_COUNT];
compat_thread thread;
unsigned latency;
uint32_t sampleRate;
#ifndef HAVE_LIBNX
audio_output_t output;
handle_t event;
#endif
} switch_thread_audio_t;
static void mainLoop(void* data)
{
Result rc;
uint32_t released_out_count = 0;
compat_audio_out_buffer *released_out_buffer = NULL;
switch_thread_audio_t *swa = (switch_thread_audio_t*)data;
if (!swa)
return;
RARCH_LOG("[Audio]: start mainLoop cpu %u tid %u\n", svcGetCurrentProcessorNumber(), swa->thread.handle);
while (swa->running)
{
size_t buf_avail, avail, to_write;
if (!released_out_buffer)
{
#ifdef HAVE_LIBNX
rc = audoutWaitPlayFinish(&released_out_buffer, &released_out_count, U64_MAX);
#else
uint32_t handle_idx = 0;
svcWaitSynchronization(&handle_idx, &swa->event, 1, 33333333);
svcResetSignal(swa->event);
rc = audio_ipc_output_get_released_buffer(&swa->output, &released_out_count, &released_out_buffer);
#endif
if (R_FAILED(rc))
{
swa->running = false;
RARCH_LOG("[Audio]: audoutGetReleasedAudioOutBuffer failed: %d\n", (int)rc);
break;
}
released_out_buffer->data_size = 0;
}
buf_avail = released_out_buffer->buffer_size - released_out_buffer->data_size;
compat_mutex_lock(&swa->fifoLock);
avail = fifo_read_avail(swa->fifo);
to_write = MIN(avail, buf_avail);
if (to_write > 0)
{
uint8_t *base;
#ifdef HAVE_LIBNX
base = (uint8_t*) released_out_buffer->buffer;
#else
base = (uint8_t*) released_out_buffer->sample_data;
#endif
fifo_read(swa->fifo, base + released_out_buffer->data_size, to_write);
}
compat_mutex_unlock(&swa->fifoLock);
compat_condvar_wake_all(&swa->cond);
released_out_buffer->data_size += to_write;
if (released_out_buffer->data_size >= released_out_buffer->buffer_size / 2)
{
rc = switch_audio_ipc_output_append_buffer(swa, released_out_buffer);
if (R_FAILED(rc))
{
RARCH_LOG("[Audio]: audoutAppendAudioOutBuffer failed: %d\n", (int)rc);
}
released_out_buffer = NULL;
}
else
svcSleepThread(16000000); /* 16ms */
}
}
static void *switch_thread_audio_init(const char *device, unsigned rate, unsigned latency, unsigned block_frames, unsigned *new_rate)
{
Result rc;
unsigned i;
uint32_t prio;
char names[8][0x20];
uint32_t num_names = 0;
switch_thread_audio_t *swa = (switch_thread_audio_t *)calloc(1, sizeof(*swa));
if (!swa)
return NULL;
swa->running = true;
swa->nonblocking = true;
swa->is_paused = true;
swa->latency = MAX(latency, 8);
rc = switch_audio_ipc_init();
if (R_FAILED(rc))
{
RARCH_LOG("[Audio]: audio init failed %d\n", (int)rc);
free(swa);
return NULL;
}
#ifdef HAVE_LIBNX
rc = audoutStartAudioOut();
if (R_FAILED(rc))
{
RARCH_LOG("[Audio]: audio start init failed: %d\n", (int)rc);
goto fail_audio_ipc;
}
swa->sampleRate = audoutGetSampleRate();
#else
if (audio_ipc_list_outputs(&names[0], 8, &num_names) != RESULT_OK)
goto fail_audio_ipc;
if (num_names != 1)
{
RARCH_ERR("[Audio]: got back more than one AudioOut\n");
goto fail_audio_ipc;
}
if (audio_ipc_open_output(names[0], &swa->output) != RESULT_OK)
goto fail_audio_ipc;
swa->sampleRate = swa->output.sample_rate;
if (swa->output.num_channels != 2)
{
RARCH_ERR("expected %d channels, got %d\n", 2,
swa->output.num_channels);
goto fail_audio_output;
}
if (swa->output.sample_format != PCM_INT16)
{
RARCH_ERR("expected PCM_INT16, got %d\n", swa->output.sample_format);
goto fail_audio_output;
}
if (audio_ipc_output_register_buffer_event(&swa->output, &swa->event) != 0)
goto fail_audio_output;
#endif
*new_rate = swa->sampleRate;
swa->fifoSize = (swa->sampleRate * sample_size * swa->latency) / 1000;
for (i = 0; i < AUDIO_BUFFER_COUNT; i++)
{
#ifdef HAVE_LIBNX
swa->buffers[i].next = NULL; /* Unused */
swa->buffers[i].data_offset = 0;
swa->buffers[i].buffer_size = swa->fifoSize;
swa->buffers[i].data_size = swa->buffers[i].buffer_size;
swa->buffers[i].buffer = memalign(0x1000, swa->buffers[i].buffer_size);
if (swa->buffers[i].buffer == NULL)
goto fail;
memset(swa->buffers[i].buffer, 0, swa->buffers[i].buffer_size);
#else
swa->buffers[i].ptr = &swa->buffers[i].sample_data;
swa->buffers[i].unknown = 0;
swa->buffers[i].buffer_size = swa->fifoSize;
swa->buffers[i].data_size = swa->buffers[i].buffer_size;
swa->buffers[i].sample_data = alloc_pages(swa->buffers[i].buffer_size, swa->buffers[i].buffer_size, NULL);
if (swa->buffers[i].sample_data == NULL)
goto fail_audio_output;
memset(swa->buffers[i].sample_data, 0, swa->buffers[i].buffer_size);
#endif
if (switch_audio_ipc_output_append_buffer(swa, &swa->buffers[i]) != 0)
goto fail_audio_output;
}
compat_mutex_create(&swa->fifoLock);
swa->fifo = fifo_new(swa->fifoSize);
compat_condvar_create(&swa->cond);
RARCH_LOG("[Audio]: switch_thread_audio_init device %s requested rate %hu rate %hu latency %hu block_frames %hu fifoSize %lu\n",
device, rate, swa->sampleRate, swa->latency, block_frames, swa->fifoSize);
svcGetThreadPriority(&prio, 0xffff8000);
rc = compat_thread_create(&swa->thread, &mainLoop, (void*)swa, thread_stack_size, prio - 1, thread_preferred_cpu);
if (R_FAILED(rc))
{
RARCH_LOG("[Audio]: thread creation failed create %u\n", swa->thread.handle);
swa->running = false;
return NULL;
}
if (R_FAILED(compat_thread_start(&swa->thread)))
{
RARCH_LOG("[Audio]: thread creation failed start %u\n", swa->thread.handle);
compat_thread_close(&swa->thread);
swa->running = false;
return NULL;
}
return swa;
fail_audio_output:
#ifndef HAVE_LIBNX
audio_ipc_output_close(&swa->output);
#endif
fail_audio_ipc:
switch_audio_ipc_finalize();
fail:
free(swa); // freeing a null ptr is valid
return NULL;
}
static bool switch_thread_audio_start(void *data, bool is_shutdown)
{
/* RARCH_LOG("[Audio]: switch_thread_audio_start\n"); */
switch_thread_audio_t *swa = (switch_thread_audio_t *)data;
if (!swa)
return false;
swa->is_paused = false;
return true;
}
static bool switch_thread_audio_stop(void *data)
{
switch_thread_audio_t* swa = (switch_thread_audio_t*)data;
if (!swa)
return false;
swa->is_paused = true;
return true;
}
static void switch_thread_audio_free(void *data)
{
unsigned i;
switch_thread_audio_t *swa = (switch_thread_audio_t *)data;
if (!swa)
return;
if (swa->running)
{
swa->running = false;
compat_thread_join(&swa->thread);
compat_thread_close(&swa->thread);
}
switch_audio_ipc_output_stop(swa);
switch_audio_ipc_finalize();
if (swa->fifo)
{
fifo_free(swa->fifo);
swa->fifo = NULL;
}
for (i = 0; i < ARRAY_SIZE(swa->buffers); i++)
{
#ifdef HAVE_LIBNX
free(swa->buffers[i].buffer);
#else
free_pages(swa->buffers[i].sample_data);
#endif
}
free(swa);
swa = NULL;
}
static ssize_t switch_thread_audio_write(void *data, const void *buf, size_t size)
{
size_t avail, written;
switch_thread_audio_t *swa = (switch_thread_audio_t *)data;
if (!swa || !swa->running)
return 0;
if (swa->nonblocking)
{
compat_mutex_lock(&swa->fifoLock);
avail = fifo_write_avail(swa->fifo);
written = MIN(avail, size);
if (written > 0)
fifo_write(swa->fifo, buf, written);
compat_mutex_unlock(&swa->fifoLock);
}
else
{
written = 0;
while (written < size && swa->running)
{
compat_mutex_lock(&swa->fifoLock);
avail = fifo_write_avail(swa->fifo);
if (avail == 0)
{
compat_mutex_unlock(&swa->fifoLock);
compat_mutex_lock(&swa->condLock);
if (swa->running)
compat_condvar_wait(&swa->cond, &swa->condLock);
compat_mutex_unlock(&swa->condLock);
}
else
{
size_t write_amt = MIN(size - written, avail);
fifo_write(swa->fifo, (const char*)buf + written, write_amt);
compat_mutex_unlock(&swa->fifoLock);
written += write_amt;
}
}
}
return written;
}
static bool switch_thread_audio_alive(void *data)
{
switch_thread_audio_t *swa = (switch_thread_audio_t *)data;
if (!swa)
return false;
return !swa->is_paused;
}
static void switch_thread_audio_set_nonblock_state(void *data, bool state)
{
switch_thread_audio_t *swa = (switch_thread_audio_t *)data;
if (swa)
swa->nonblocking = state;
}
static bool switch_thread_audio_use_float(void *data)
{
(void)data;
return false;
}
static size_t switch_thread_audio_write_avail(void *data)
{
size_t val;
switch_thread_audio_t* swa = (switch_thread_audio_t*)data;
compat_mutex_lock(&swa->fifoLock);
val = fifo_write_avail(swa->fifo);
compat_mutex_unlock(&swa->fifoLock);
return val;
}
size_t switch_thread_audio_buffer_size(void *data)
{
switch_thread_audio_t *swa = (switch_thread_audio_t *)data;
if (!swa)
return 0;
return swa->fifoSize;
}
audio_driver_t audio_switch_thread = {
switch_thread_audio_init,
switch_thread_audio_write,
switch_thread_audio_stop,
switch_thread_audio_start,
switch_thread_audio_alive,
switch_thread_audio_set_nonblock_state,
switch_thread_audio_free,
switch_thread_audio_use_float,
"switch_thread",
NULL, /* device_list_new */
NULL, /* device_list_free */
switch_thread_audio_write_avail,
switch_thread_audio_buffer_size
};
/* vim: set ts=3 sw=3 */
-1
View File
@@ -296,7 +296,6 @@
#define SNDRV_PCM_MMAP_OFFSET_STATUS 0x80000000
#define SNDRV_PCM_MMAP_OFFSET_CONTROL 0x81000000
/** Audio sample format of a PCM.
* The first letter specifiers whether the sample is signed or unsigned.
* The letter 'S' means signed. The letter 'U' means unsigned.
+9 -9
View File
@@ -29,6 +29,15 @@
#include <mmreg.h>
#include <audioclient.h>
#ifdef _MSC_VER
DEFINE_GUID(IID_IAudioClient, 0x1CB9AD4C, 0xDBFA, 0x4C32, 0xB1, 0x78, 0xC2, 0xF5, 0x68, 0xA7, 0x03, 0xB2);
DEFINE_GUID(IID_IAudioRenderClient, 0xF294ACFC, 0x3146, 0x4483, 0xA7, 0xBF, 0xAD, 0xDC, 0xA7, 0xC2, 0x60, 0xE2);
DEFINE_GUID(IID_IMMDeviceEnumerator, 0xA95664D2, 0x9614, 0x4F35, 0xA7, 0x46, 0xDE, 0x8D, 0xB6, 0x36, 0x17, 0xE6);
DEFINE_GUID(CLSID_MMDeviceEnumerator, 0xBCDE0395, 0xE52F, 0x467C, 0x8E, 0x3D, 0xC4, 0x57, 0x92, 0x91, 0x69, 0x2E);
#undef KSDATAFORMAT_SUBTYPE_IEEE_FLOAT
DEFINE_GUID(KSDATAFORMAT_SUBTYPE_IEEE_FLOAT, 0x00000003, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71);
#endif
#include <lists/string_list.h>
#include <queues/fifo_queue.h>
@@ -580,7 +589,6 @@ 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;
@@ -592,11 +600,6 @@ static void *wasapi_init(const char *dev_id, unsigned rate, unsigned latency,
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);
@@ -676,8 +679,6 @@ error:
if (w->buffer)
fifo_free(w->buffer);
free(w);
if (com_initialized)
CoUninitialize();
return NULL;
}
@@ -889,7 +890,6 @@ static void wasapi_free(void *wh)
_IAudioClient_Stop(w->client);
WASAPI_RELEASE(w->client);
WASAPI_RELEASE(w->device);
CoUninitialize();
if (w->buffer)
fifo_free(w->buffer);
free(w);
+1 -2
View File
@@ -84,7 +84,7 @@ static void* ax_audio_init(const char* device, unsigned rate, unsigned latency,
u16 setup_buf[0x30] = {0};
setup_buf[0x25] = 2; /* we request 2 channels */
AXInitParams init = {AX_INIT_RENDERER_48KHZ, 0, 0};
AXVoiceVeData ve = {0xF000, 0};
AXVoiceVeData ve = {0x8000, 0};
ax_audio_t* ax = (ax_audio_t*)calloc(1, sizeof(ax_audio_t));
if (!ax)
@@ -318,7 +318,6 @@ static size_t ax_audio_buffer_size(void* data)
return AX_AUDIO_COUNT;
}
audio_driver_t audio_ax =
{
ax_audio_init,
+5 -4
View File
@@ -202,10 +202,6 @@ static xaudio2_t *xaudio2_new(unsigned samplerate, unsigned channels,
xaudio2_t *handle = NULL;
WAVEFORMATEX wfx = {0};
#ifndef _XBOX
CoInitializeEx(0, COINIT_MULTITHREADED);
#endif
#if defined(__cplusplus) && !defined(CINTERFACE)
handle = new xaudio2;
#else
@@ -222,8 +218,13 @@ static xaudio2_t *xaudio2_new(unsigned samplerate, unsigned channels,
if (FAILED(XAudio2Create(&handle->pXAudio2, 0, XAUDIO2_DEFAULT_PROCESSOR)))
goto error;
#if (_WIN32_WINNT >= 0x0602 /*_WIN32_WINNT_WIN8*/)
if (FAILED(IXAudio2_CreateMasteringVoice(handle->pXAudio2, &handle->pMasterVoice, channels, samplerate, 0, device, NULL, AudioCategory_GameEffects)))
goto error;
#else
if (FAILED(IXAudio2_CreateMasteringVoice(handle->pXAudio2, &handle->pMasterVoice, channels, samplerate, 0, device, NULL)))
goto error;
#endif
xaudio2_set_wavefmt(&wfx, channels, samplerate);
+10 -348
View File
@@ -1,7 +1,5 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2014 - Hans-Kristian Arntzen
* Copyright (C) 2011-2017 - Daniel De Matteis
* Copyright (C) 2010-2014 - OV2
* Copyright (C) 2018 - Krzysztof Haładyn
*
* 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-
@@ -15,350 +13,14 @@
* If not, see <http://www.gnu.org/licenses/>.
*/
/* Kinda stripped down. Only contains the bare essentials used in RetroArch. */
#ifndef XAUDIO2_STRIPPED_H
#define XAUDIO2_STRIPPED_H
#include <retro_inline.h>
#include <retro_environment.h>
/* All structures defined in this file use tight field packing */
#pragma pack(push, 1)
#if defined(__cplusplus) && !defined(CINTERFACE)
#define X2DEFAULT(x) = (x)
#if (_WIN32_WINNT >= 0x0602 /*_WIN32_WINNT_WIN8*/)
/* XAudio 2.7 it part of the old DirectX SDKs. XAudio 2.8+ is part of the
* Windows OS itself (starting from Windows 8). Since UWP lets you access
* only libraries that are built-in to the OS, the headers had to be
* upgraded to the newer version to get audio support working. */
#include "xaudio29.h"
#else
#define X2DEFAULT(x)
/* The old version still has to be there since XAudio 2.8 is not available
* on Windows 7 and earlier */
#include "xaudio27.h"
#endif
#ifdef _XBOX
#include <xtl.h>
#ifndef __cplusplus
#define OPAQUE interface
#endif
#define DEFINE_CLSID(className, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
DEFINE_GUID(CLSID_##className, 0x##l, 0x##w1, 0x##w2, 0x##b1, 0x##b2, 0x##b3, 0x##b4, 0x##b5, 0x##b6, 0x##b7, 0x##b8)
#define DEFINE_IID(interfaceName, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
DEFINE_GUID(IID_##interfaceName, 0x##l, 0x##w1, 0x##w2, 0x##b1, 0x##b2, 0x##b3, 0x##b4, 0x##b5, 0x##b6, 0x##b7, 0x##b8)
DEFINE_CLSID(XAudio2, 3eda9b49, 2085, 498b, 9b, b2, 39, a6, 77, 84, 93, de);
DEFINE_CLSID(XAudio2_Debug, 47199894, 7cc2, 444d, 98, 73, ce, d2, 56, 2c, c6, 0e);
DEFINE_IID(IXAudio2, 8bcf1f58, 9fe7, 4583, 8a, c6, e2, ad, c4, 65, c8, bb);
#include <audiodefs.h> /* Basic audio data types and constants */
#else
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <basetyps.h>
#include <objbase.h>
#include <mmreg.h>
#ifndef __cplusplus
#undef OPAQUE
#define OPAQUE struct
#endif
#define DEFINE_GUID_X(n, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
static const GUID n = { l, w1, w2, { b1, b2, b3, b4, b5, b6, b7, b8 } }
#define DEFINE_CLSID_X(className, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
DEFINE_GUID_X(CLSID_##className, 0x##l, 0x##w1, 0x##w2, 0x##b1, 0x##b2, 0x##b3, 0x##b4, 0x##b5, 0x##b6, 0x##b7, 0x##b8)
#define DEFINE_IID_X(interfaceName, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
DEFINE_GUID_X(IID_##interfaceName, 0x##l, 0x##w1, 0x##w2, 0x##b1, 0x##b2, 0x##b3, 0x##b4, 0x##b5, 0x##b6, 0x##b7, 0x##b8)
#ifndef __cplusplus
#ifndef INTERFACE
#define INTERFACE void
#endif
#endif
DEFINE_CLSID_X(XAudio2, 5a508685, a254, 4fba, 9b, 82, 9a, 24, b0, 03, 06, af); /* 2.7 */
DEFINE_IID_X(IXAudio2, 8bcf1f58, 9fe7, 4583, 8a, c6, e2, ad, c4, 65, c8, bb);
#endif
#ifdef _XBOX
#define XAUDIO2_DEFAULT_FREQ_RATIO 2.0f
#else
#define XAUDIO2_DEFAULT_FREQ_RATIO 4.0f
#endif
#define XAUDIO2_COMMIT_NOW 0
#define XAUDIO2_DEFAULT_CHANNELS 0
#define XAUDIO2_DEFAULT_SAMPLERATE 0
#define XAUDIO2_DEBUG_ENGINE 0x0001
#define XAUDIO2_VOICE_NOSRC 0x0004
typedef enum XAUDIO2_DEVICE_ROLE
{
NotDefaultDevice = 0x0,
DefaultConsoleDevice = 0x1,
DefaultMultimediaDevice = 0x2,
DefaultCommunicationsDevice = 0x4,
DefaultGameDevice = 0x8,
GlobalDefaultDevice = 0xf,
InvalidDeviceRole = ~GlobalDefaultDevice
} XAUDIO2_DEVICE_ROLE;
#ifdef _XBOX
typedef enum XAUDIO2_XBOX_HWTHREAD_SPECIFIER
{
XboxThread0 = 0x01,
XboxThread1 = 0x02,
XboxThread2 = 0x04,
XboxThread3 = 0x08,
XboxThread4 = 0x10,
XboxThread5 = 0x20,
XAUDIO2_ANY_PROCESSOR = XboxThread4,
XAUDIO2_DEFAULT_PROCESSOR = XAUDIO2_ANY_PROCESSOR
} XAUDIO2_XBOX_HWTHREAD_SPECIFIER, XAUDIO2_PROCESSOR;
#else
typedef enum XAUDIO2_WINDOWS_PROCESSOR_SPECIFIER
{
#if defined(__STDC_C89__)
XAUDIO2_ANY_PROCESSOR = 0xffff,
#else
XAUDIO2_ANY_PROCESSOR = 0xffffffff,
#endif
XAUDIO2_DEFAULT_PROCESSOR = XAUDIO2_ANY_PROCESSOR
} XAUDIO2_WINDOWS_PROCESSOR_SPECIFIER, XAUDIO2_PROCESSOR;
#endif
typedef enum XAUDIO2_FILTER_TYPE {
LowPassFilter,
BandPassFilter,
HighPassFilter
} XAUDIO2_FILTER_TYPE;
typedef struct XAUDIO2_DEVICE_DETAILS
{
WCHAR DeviceID[256];
WCHAR DisplayName[256];
XAUDIO2_DEVICE_ROLE Role;
WAVEFORMATEXTENSIBLE OutputFormat;
} XAUDIO2_DEVICE_DETAILS;
/* Forward declarations. */
#ifdef __cplusplus
struct XAUDIO2_VOICE_DETAILS;
struct XAUDIO2_VOICE_SENDS;
struct XAUDIO2_EFFECT_DESCRIPTOR;
struct XAUDIO2_EFFECT_CHAIN;
struct XAUDIO2_FILTER_PARAMETERS;
struct XAUDIO2_BUFFER_WMA;
struct XAUDIO2_VOICE_STATE;
struct XAUDIO2_PERFORMANCE_DATA;
struct XAUDIO2_DEBUG_CONFIGURATION;
struct IXAudio2EngineCallback;
struct IXAudio2SubmixVoice;
#else
typedef OPAQUE XAUDIO2_VOICE_DETAILS XAUDIO2_VOICE_DETAILS;
typedef OPAQUE XAUDIO2_VOICE_SENDS XAUDIO2_VOICE_SENDS;
typedef OPAQUE XAUDIO2_EFFECT_DESCRIPTOR XAUDIO2_EFFECT_DESCRIPTOR;
typedef OPAQUE XAUDIO2_EFFECT_CHAIN XAUDIO2_EFFECT_CHAIN;
typedef OPAQUE XAUDIO2_FILTER_PARAMETERS XAUDIO2_FILTER_PARAMETERS;
typedef OPAQUE XAUDIO2_BUFFER_WMA XAUDIO2_BUFFER_WMA;
typedef OPAQUE XAUDIO2_VOICE_STATE XAUDIO2_VOICE_STATE;
typedef OPAQUE XAUDIO2_PERFORMANCE_DATA XAUDIO2_PERFORMANCE_DATA;
typedef OPAQUE XAUDIO2_DEBUG_CONFIGURATION XAUDIO2_DEBUG_CONFIGURATION;
typedef OPAQUE IXAudio2EngineCallback IXAudio2EngineCallback;
typedef OPAQUE IXAudio2SubmixVoice IXAudio2SubmixVoice;
#endif
typedef struct XAUDIO2_BUFFER
{
UINT32 Flags;
UINT32 AudioBytes;
const BYTE* pAudioData;
UINT32 PlayBegin;
UINT32 PlayLength;
UINT32 LoopBegin;
UINT32 LoopLength;
UINT32 LoopCount;
void *pContext;
} XAUDIO2_BUFFER;
#undef INTERFACE
#define INTERFACE IXAudio2VoiceCallback
DECLARE_INTERFACE(IXAudio2VoiceCallback)
{
STDMETHOD_(void, OnVoiceProcessingPassStart) (THIS_ UINT32 BytesRequired) PURE;
STDMETHOD_(void, OnVoiceProcessingPassEnd) (THIS) PURE;
STDMETHOD_(void, OnStreamEnd) (THIS) PURE;
STDMETHOD_(void, OnBufferStart) (THIS_ void *pBufferContext) PURE;
STDMETHOD_(void, OnBufferEnd) (THIS_ void *pBufferContext) PURE;
STDMETHOD_(void, OnLoopEnd) (THIS_ void *pBufferContext) PURE;
STDMETHOD_(void, OnVoiceError) (THIS_ void *pBufferContext, HRESULT Error) PURE;
};
#undef INTERFACE
#define INTERFACE IXAudio2Voice
DECLARE_INTERFACE(IXAudio2Voice)
{
#define Declare_IXAudio2Voice_Methods() \
STDMETHOD_(void, GetVoiceDetails) (THIS_ XAUDIO2_VOICE_DETAILS* pVoiceDetails) PURE; \
STDMETHOD(SetOutputVoices) (THIS_ const XAUDIO2_VOICE_SENDS* pSendList) PURE; \
STDMETHOD(SetEffectChain) (THIS_ const XAUDIO2_EFFECT_CHAIN* pEffectChain) PURE; \
STDMETHOD(EnableEffect) (THIS_ UINT32 EffectIndex, \
UINT32 OperationSet X2DEFAULT(XAUDIO2_COMMIT_NOW)) PURE; \
STDMETHOD(DisableEffect) (THIS_ UINT32 EffectIndex, \
UINT32 OperationSet X2DEFAULT(XAUDIO2_COMMIT_NOW)) PURE; \
STDMETHOD_(void, GetEffectState) (THIS_ UINT32 EffectIndex, BOOL* pEnabled) PURE; \
STDMETHOD(SetEffectParameters) (THIS_ UINT32 EffectIndex, \
const void *pParameters, \
UINT32 ParametersByteSize, \
UINT32 OperationSet X2DEFAULT(XAUDIO2_COMMIT_NOW)) PURE; \
STDMETHOD(GetEffectParameters) (THIS_ UINT32 EffectIndex, void *pParameters, \
UINT32 ParametersByteSize) PURE; \
STDMETHOD(SetFilterParameters) (THIS_ const XAUDIO2_FILTER_PARAMETERS* pParameters, \
UINT32 OperationSet X2DEFAULT(XAUDIO2_COMMIT_NOW)) PURE; \
STDMETHOD_(void, GetFilterParameters) (THIS_ XAUDIO2_FILTER_PARAMETERS* pParameters) PURE; \
STDMETHOD_(void, SetOutputFilterParameters) (THIS_ IXAudio2Voice *voice, const XAUDIO2_FILTER_PARAMETERS* param, \
UINT32 op X2DEFAULT(XAUDIO2_COMMIT_NOW)) PURE; \
STDMETHOD_(void, GetOutputFilterParameters) (THIS_ IXAudio2Voice *voice, XAUDIO2_FILTER_PARAMETERS* param) PURE; \
STDMETHOD(SetVolume) (THIS_ float Volume, \
UINT32 OperationSet X2DEFAULT(XAUDIO2_COMMIT_NOW)) PURE; \
STDMETHOD_(void, GetVolume) (THIS_ float* pVolume) PURE; \
STDMETHOD(SetChannelVolumes) (THIS_ UINT32 Channels, const float* pVolumes, \
UINT32 OperationSet X2DEFAULT(XAUDIO2_COMMIT_NOW)) PURE; \
STDMETHOD_(void, GetChannelVolumes) (THIS_ UINT32 Channels, float* pVolumes) PURE; \
STDMETHOD(SetOutputMatrix) (THIS_ IXAudio2Voice* pDestinationVoice, \
UINT32 SourceChannels, UINT32 DestinationChannels, \
const float* pLevelMatrix, \
UINT32 OperationSet X2DEFAULT(XAUDIO2_COMMIT_NOW)) PURE; \
STDMETHOD_(void, GetOutputMatrix) (THIS_ IXAudio2Voice* pDestinationVoice, \
UINT32 SourceChannels, UINT32 DestinationChannels, \
float* pLevelMatrix) PURE; \
STDMETHOD_(void, DestroyVoice) (THIS) PURE
Declare_IXAudio2Voice_Methods();
};
#undef INTERFACE
#define INTERFACE IXAudio2MasteringVoice
DECLARE_INTERFACE_(IXAudio2MasteringVoice, IXAudio2Voice)
{
Declare_IXAudio2Voice_Methods();
};
#undef INTERFACE
#define INTERFACE IXAudio2SourceVoice
DECLARE_INTERFACE_(IXAudio2SourceVoice, IXAudio2Voice)
{
Declare_IXAudio2Voice_Methods();
STDMETHOD(Start) (THIS_ UINT32 Flags, UINT32 OperationSet X2DEFAULT(XAUDIO2_COMMIT_NOW)) PURE;
STDMETHOD(Stop) (THIS_ UINT32 Flags, UINT32 OperationSet X2DEFAULT(XAUDIO2_COMMIT_NOW)) PURE;
STDMETHOD(SubmitSourceBuffer) (THIS_ const XAUDIO2_BUFFER* pBuffer, const XAUDIO2_BUFFER_WMA* pBufferWMA X2DEFAULT(NULL)) PURE;
STDMETHOD(FlushSourceBuffers) (THIS) PURE;
STDMETHOD(Discontinuity) (THIS) PURE;
STDMETHOD(ExitLoop) (THIS_ UINT32 OperationSet X2DEFAULT(XAUDIO2_COMMIT_NOW)) PURE;
STDMETHOD_(void, GetState) (THIS_ XAUDIO2_VOICE_STATE* pVoiceState) PURE;
STDMETHOD(SetFrequencyRatio) (THIS_ float Ratio,
UINT32 OperationSet X2DEFAULT(XAUDIO2_COMMIT_NOW)) PURE;
STDMETHOD_(void, GetFrequencyRatio) (THIS_ float* pRatio) PURE;
};
#undef INTERFACE
#define INTERFACE IXAudio2
DECLARE_INTERFACE_(IXAudio2, IUnknown)
{
STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvInterface) PURE;
STDMETHOD_(ULONG, AddRef) (THIS) PURE;
STDMETHOD_(ULONG, Release) (THIS) PURE;
STDMETHOD(GetDeviceCount) (THIS_ UINT32* pCount) PURE;
STDMETHOD(GetDeviceDetails) (THIS_ UINT32 Index, XAUDIO2_DEVICE_DETAILS* pDeviceDetails) PURE;
STDMETHOD(Initialize) (THIS_ UINT32 Flags X2DEFAULT(0),
XAUDIO2_PROCESSOR XAudio2Processor X2DEFAULT(XAUDIO2_DEFAULT_PROCESSOR)) PURE;
STDMETHOD(RegisterForCallbacks) (IXAudio2EngineCallback* pCallback) PURE;
STDMETHOD_(void, UnregisterForCallbacks) (IXAudio2EngineCallback* pCallback) PURE;
STDMETHOD(CreateSourceVoice) (THIS_ IXAudio2SourceVoice** ppSourceVoice,
const WAVEFORMATEX* pSourceFormat,
UINT32 Flags X2DEFAULT(0),
float MaxFrequencyRatio X2DEFAULT(XAUDIO2_DEFAULT_FREQ_RATIO),
IXAudio2VoiceCallback* pCallback X2DEFAULT(NULL),
const XAUDIO2_VOICE_SENDS* pSendList X2DEFAULT(NULL),
const XAUDIO2_EFFECT_CHAIN* pEffectChain X2DEFAULT(NULL)) PURE;
STDMETHOD(CreateSubmixVoice) (THIS_ IXAudio2SubmixVoice** ppSubmixVoice,
UINT32 InputChannels, UINT32 InputSampleRate,
UINT32 Flags X2DEFAULT(0), UINT32 ProcessingStage X2DEFAULT(0),
const XAUDIO2_VOICE_SENDS* pSendList X2DEFAULT(NULL),
const XAUDIO2_EFFECT_CHAIN* pEffectChain X2DEFAULT(NULL)) PURE;
STDMETHOD(CreateMasteringVoice) (THIS_ IXAudio2MasteringVoice** ppMasteringVoice,
UINT32 InputChannels X2DEFAULT(XAUDIO2_DEFAULT_CHANNELS),
UINT32 InputSampleRate X2DEFAULT(XAUDIO2_DEFAULT_SAMPLERATE),
UINT32 Flags X2DEFAULT(0), UINT32 DeviceIndex X2DEFAULT(0),
const XAUDIO2_EFFECT_CHAIN* pEffectChain X2DEFAULT(NULL)) PURE;
STDMETHOD(StartEngine) (THIS) PURE;
STDMETHOD_(void, StopEngine) (THIS) PURE;
STDMETHOD(CommitChanges) (THIS_ UINT32 OperationSet) PURE;
STDMETHOD_(void, GetPerformanceData) (THIS_ XAUDIO2_PERFORMANCE_DATA* pPerfData) PURE;
STDMETHOD_(void, SetDebugConfiguration) (THIS_ const XAUDIO2_DEBUG_CONFIGURATION* pDebugConfiguration,
void *pReserved X2DEFAULT(NULL)) PURE;
};
#if defined(__cplusplus) && !defined(CINTERFACE)
/* C++ hooks */
#define IXAudio2_Initialize(handle,a,b) handle->Initialize(a, b)
#define IXAudio2SourceVoice_SubmitSourceBuffer(handle, a, b) handle->SubmitSourceBuffer(a, b)
#define IXAudio2SourceVoice_Stop(handle, a, b) handle->Stop(a, b)
#define IXAudio2SourceVoice_DestroyVoice(handle) handle->DestroyVoice()
#define IXAudio2MasteringVoice_DestroyVoice(handle) handle->DestroyVoice()
#define IXAudio2_Release(handle) handle->Release()
#define IXAudio2_CreateSourceVoice(handle, a, b, c, d, e, f, g) handle->CreateSourceVoice(a, b, c, d, e, f, g)
#define IXAudio2_CreateMasteringVoice(handle, a, b, c, d, e, f) handle->CreateMasteringVoice(a, b, c, d, e, f)
#define IXAudio2SourceVoice_Start(handle, a, b) handle->Start(a, b)
#else
/* C hooks */
#define IXAudio2_Initialize(handle,a,b) (handle)->lpVtbl->Initialize(handle, a, b)
#define IXAudio2_Release(handle) (handle)->lpVtbl->Release(handle)
#define IXAudio2_CreateSourceVoice(handle,ppSourceVoice,pSourceFormat,Flags,MaxFrequencyRatio,pCallback,pSendList,pEffectChain) (handle)->lpVtbl->CreateSourceVoice(handle, ppSourceVoice,pSourceFormat,Flags,MaxFrequencyRatio,pCallback,pSendList,pEffectChain)
#define IXAudio2_CreateMasteringVoice(handle,ppMasteringVoice,InputChannels,InputSampleRate,Flags,DeviceIndex,pEffectChain) (handle)->lpVtbl->CreateMasteringVoice(handle, ppMasteringVoice,InputChannels,InputSampleRate,Flags,DeviceIndex,pEffectChain)
#define IXAudio2_GetDeviceCount(handle, puCount) (handle)->lpVtbl->GetDeviceCount(handle, puCount)
#define IXAudio2_GetDeviceDetails(handle, Index,pDeviceDetails) (handle)->lpVtbl->GetDeviceDetails(handle, Index, pDeviceDetails)
#define IXAudio2SourceVoice_Start(handle, Flags, OperationSet) (handle)->lpVtbl->Start(handle, Flags, OperationSet)
#define IXAudio2SourceVoice_Stop(handle, Flags, OperationSet) (handle)->lpVtbl->Stop(handle, Flags, OperationSet)
#define IXAudio2SourceVoice_SubmitSourceBuffer(handle, pBuffer, pBufferWMA) (handle)->lpVtbl->SubmitSourceBuffer(handle, pBuffer, pBufferWMA)
#define IXAudio2SourceVoice_DestroyVoice(handle) (handle)->lpVtbl->DestroyVoice(handle)
#define IXAudio2MasteringVoice_DestroyVoice(handle) (handle)->lpVtbl->DestroyVoice(handle)
#endif
#ifdef _XBOX
STDAPI XAudio2Create(__deref_out IXAudio2** ppXAudio2, UINT32 Flags X2DEFAULT(0),
XAUDIO2_PROCESSOR XAudio2Processor X2DEFAULT(XAUDIO2_DEFAULT_PROCESSOR));
#else
static INLINE HRESULT XAudio2Create(IXAudio2 **ppXAudio2, UINT32 flags, XAUDIO2_PROCESSOR proc)
{
IXAudio2 *pXAudio2 = NULL;
#ifdef __cplusplus
HRESULT hr = CoCreateInstance(CLSID_XAudio2, NULL, CLSCTX_INPROC_SERVER, IID_IXAudio2, (void**)&pXAudio2);
#else
HRESULT hr = CoCreateInstance(&CLSID_XAudio2, NULL, CLSCTX_INPROC_SERVER, &IID_IXAudio2, (void**)&pXAudio2);
#endif
if (SUCCEEDED(hr))
{
hr = IXAudio2_Initialize(pXAudio2, 0, XAUDIO2_DEFAULT_PROCESSOR);
if (SUCCEEDED(hr))
*ppXAudio2 = pXAudio2;
else
IXAudio2_Release(pXAudio2);
}
return hr;
}
#endif
/* Undo the #pragma pack(push, 1) directive at the top of this file */
#pragma pack(pop)
#endif
+362
View File
@@ -0,0 +1,362 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2014 - Hans-Kristian Arntzen
* Copyright (C) 2011-2017 - Daniel De Matteis
* Copyright (C) 2010-2014 - OV2
*
* 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/>.
*/
/* Kinda stripped down. Only contains the bare essentials used in RetroArch. */
#ifndef XAUDIO2_STRIPPED_H
#define XAUDIO2_STRIPPED_H
#include <retro_inline.h>
#include <retro_environment.h>
/* All structures defined in this file use tight field packing */
#pragma pack(push, 1)
#if defined(__cplusplus) && !defined(CINTERFACE)
#define X2DEFAULT(x) = (x)
#else
#define X2DEFAULT(x)
#endif
#ifdef _XBOX
#include <xtl.h>
#ifndef __cplusplus
#define OPAQUE interface
#endif
#define DEFINE_CLSID(className, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
DEFINE_GUID(CLSID_##className, 0x##l, 0x##w1, 0x##w2, 0x##b1, 0x##b2, 0x##b3, 0x##b4, 0x##b5, 0x##b6, 0x##b7, 0x##b8)
#define DEFINE_IID(interfaceName, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
DEFINE_GUID(IID_##interfaceName, 0x##l, 0x##w1, 0x##w2, 0x##b1, 0x##b2, 0x##b3, 0x##b4, 0x##b5, 0x##b6, 0x##b7, 0x##b8)
DEFINE_CLSID(XAudio2, 3eda9b49, 2085, 498b, 9b, b2, 39, a6, 77, 84, 93, de);
DEFINE_CLSID(XAudio2_Debug, 47199894, 7cc2, 444d, 98, 73, ce, d2, 56, 2c, c6, 0e);
DEFINE_IID(IXAudio2, 8bcf1f58, 9fe7, 4583, 8a, c6, e2, ad, c4, 65, c8, bb);
#include <audiodefs.h> /* Basic audio data types and constants */
#else
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <basetyps.h>
#include <objbase.h>
#include <mmreg.h>
#ifndef __cplusplus
#undef OPAQUE
#define OPAQUE struct
#endif
#define DEFINE_GUID_X(n, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
static const GUID n = { l, w1, w2, { b1, b2, b3, b4, b5, b6, b7, b8 } }
#define DEFINE_CLSID_X(className, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
DEFINE_GUID_X(CLSID_##className, 0x##l, 0x##w1, 0x##w2, 0x##b1, 0x##b2, 0x##b3, 0x##b4, 0x##b5, 0x##b6, 0x##b7, 0x##b8)
#define DEFINE_IID_X(interfaceName, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
DEFINE_GUID_X(IID_##interfaceName, 0x##l, 0x##w1, 0x##w2, 0x##b1, 0x##b2, 0x##b3, 0x##b4, 0x##b5, 0x##b6, 0x##b7, 0x##b8)
#ifndef __cplusplus
#ifndef INTERFACE
#define INTERFACE void
#endif
#endif
DEFINE_CLSID_X(XAudio2, 5a508685, a254, 4fba, 9b, 82, 9a, 24, b0, 03, 06, af); /* 2.7 */
DEFINE_IID_X(IXAudio2, 8bcf1f58, 9fe7, 4583, 8a, c6, e2, ad, c4, 65, c8, bb);
#endif
#ifdef _XBOX
#define XAUDIO2_DEFAULT_FREQ_RATIO 2.0f
#else
#define XAUDIO2_DEFAULT_FREQ_RATIO 4.0f
#endif
#define XAUDIO2_COMMIT_NOW 0
#define XAUDIO2_DEFAULT_CHANNELS 0
#define XAUDIO2_DEFAULT_SAMPLERATE 0
#define XAUDIO2_DEBUG_ENGINE 0x0001
#define XAUDIO2_VOICE_NOSRC 0x0004
typedef enum XAUDIO2_DEVICE_ROLE
{
NotDefaultDevice = 0x0,
DefaultConsoleDevice = 0x1,
DefaultMultimediaDevice = 0x2,
DefaultCommunicationsDevice = 0x4,
DefaultGameDevice = 0x8,
GlobalDefaultDevice = 0xf,
InvalidDeviceRole = ~GlobalDefaultDevice
} XAUDIO2_DEVICE_ROLE;
#ifdef _XBOX
typedef enum XAUDIO2_XBOX_HWTHREAD_SPECIFIER
{
XboxThread0 = 0x01,
XboxThread1 = 0x02,
XboxThread2 = 0x04,
XboxThread3 = 0x08,
XboxThread4 = 0x10,
XboxThread5 = 0x20,
XAUDIO2_ANY_PROCESSOR = XboxThread4,
XAUDIO2_DEFAULT_PROCESSOR = XAUDIO2_ANY_PROCESSOR
} XAUDIO2_XBOX_HWTHREAD_SPECIFIER, XAUDIO2_PROCESSOR;
#else
typedef enum XAUDIO2_WINDOWS_PROCESSOR_SPECIFIER
{
#if defined(__STDC_C89__)
XAUDIO2_ANY_PROCESSOR = 0xffff,
#else
XAUDIO2_ANY_PROCESSOR = 0xffffffff,
#endif
XAUDIO2_DEFAULT_PROCESSOR = XAUDIO2_ANY_PROCESSOR
} XAUDIO2_WINDOWS_PROCESSOR_SPECIFIER, XAUDIO2_PROCESSOR;
#endif
typedef enum XAUDIO2_FILTER_TYPE {
LowPassFilter,
BandPassFilter,
HighPassFilter
} XAUDIO2_FILTER_TYPE;
typedef struct XAUDIO2_DEVICE_DETAILS
{
WCHAR DeviceID[256];
WCHAR DisplayName[256];
XAUDIO2_DEVICE_ROLE Role;
WAVEFORMATEXTENSIBLE OutputFormat;
} XAUDIO2_DEVICE_DETAILS;
/* Forward declarations. */
#ifdef __cplusplus
struct XAUDIO2_VOICE_DETAILS;
struct XAUDIO2_VOICE_SENDS;
struct XAUDIO2_EFFECT_DESCRIPTOR;
struct XAUDIO2_EFFECT_CHAIN;
struct XAUDIO2_FILTER_PARAMETERS;
struct XAUDIO2_BUFFER_WMA;
struct XAUDIO2_VOICE_STATE;
struct XAUDIO2_PERFORMANCE_DATA;
struct XAUDIO2_DEBUG_CONFIGURATION;
struct IXAudio2EngineCallback;
struct IXAudio2SubmixVoice;
#else
typedef OPAQUE XAUDIO2_VOICE_DETAILS XAUDIO2_VOICE_DETAILS;
typedef OPAQUE XAUDIO2_VOICE_SENDS XAUDIO2_VOICE_SENDS;
typedef OPAQUE XAUDIO2_EFFECT_DESCRIPTOR XAUDIO2_EFFECT_DESCRIPTOR;
typedef OPAQUE XAUDIO2_EFFECT_CHAIN XAUDIO2_EFFECT_CHAIN;
typedef OPAQUE XAUDIO2_FILTER_PARAMETERS XAUDIO2_FILTER_PARAMETERS;
typedef OPAQUE XAUDIO2_BUFFER_WMA XAUDIO2_BUFFER_WMA;
typedef OPAQUE XAUDIO2_VOICE_STATE XAUDIO2_VOICE_STATE;
typedef OPAQUE XAUDIO2_PERFORMANCE_DATA XAUDIO2_PERFORMANCE_DATA;
typedef OPAQUE XAUDIO2_DEBUG_CONFIGURATION XAUDIO2_DEBUG_CONFIGURATION;
typedef OPAQUE IXAudio2EngineCallback IXAudio2EngineCallback;
typedef OPAQUE IXAudio2SubmixVoice IXAudio2SubmixVoice;
#endif
typedef struct XAUDIO2_BUFFER
{
UINT32 Flags;
UINT32 AudioBytes;
const BYTE* pAudioData;
UINT32 PlayBegin;
UINT32 PlayLength;
UINT32 LoopBegin;
UINT32 LoopLength;
UINT32 LoopCount;
void *pContext;
} XAUDIO2_BUFFER;
#undef INTERFACE
#define INTERFACE IXAudio2VoiceCallback
DECLARE_INTERFACE(IXAudio2VoiceCallback)
{
STDMETHOD_(void, OnVoiceProcessingPassStart) (THIS_ UINT32 BytesRequired) PURE;
STDMETHOD_(void, OnVoiceProcessingPassEnd) (THIS) PURE;
STDMETHOD_(void, OnStreamEnd) (THIS) PURE;
STDMETHOD_(void, OnBufferStart) (THIS_ void *pBufferContext) PURE;
STDMETHOD_(void, OnBufferEnd) (THIS_ void *pBufferContext) PURE;
STDMETHOD_(void, OnLoopEnd) (THIS_ void *pBufferContext) PURE;
STDMETHOD_(void, OnVoiceError) (THIS_ void *pBufferContext, HRESULT Error) PURE;
};
#undef INTERFACE
#define INTERFACE IXAudio2Voice
DECLARE_INTERFACE(IXAudio2Voice)
{
#define Declare_IXAudio2Voice_Methods() \
STDMETHOD_(void, GetVoiceDetails) (THIS_ XAUDIO2_VOICE_DETAILS* pVoiceDetails) PURE; \
STDMETHOD(SetOutputVoices) (THIS_ const XAUDIO2_VOICE_SENDS* pSendList) PURE; \
STDMETHOD(SetEffectChain) (THIS_ const XAUDIO2_EFFECT_CHAIN* pEffectChain) PURE; \
STDMETHOD(EnableEffect) (THIS_ UINT32 EffectIndex, \
UINT32 OperationSet X2DEFAULT(XAUDIO2_COMMIT_NOW)) PURE; \
STDMETHOD(DisableEffect) (THIS_ UINT32 EffectIndex, \
UINT32 OperationSet X2DEFAULT(XAUDIO2_COMMIT_NOW)) PURE; \
STDMETHOD_(void, GetEffectState) (THIS_ UINT32 EffectIndex, BOOL* pEnabled) PURE; \
STDMETHOD(SetEffectParameters) (THIS_ UINT32 EffectIndex, \
const void *pParameters, \
UINT32 ParametersByteSize, \
UINT32 OperationSet X2DEFAULT(XAUDIO2_COMMIT_NOW)) PURE; \
STDMETHOD(GetEffectParameters) (THIS_ UINT32 EffectIndex, void *pParameters, \
UINT32 ParametersByteSize) PURE; \
STDMETHOD(SetFilterParameters) (THIS_ const XAUDIO2_FILTER_PARAMETERS* pParameters, \
UINT32 OperationSet X2DEFAULT(XAUDIO2_COMMIT_NOW)) PURE; \
STDMETHOD_(void, GetFilterParameters) (THIS_ XAUDIO2_FILTER_PARAMETERS* pParameters) PURE; \
STDMETHOD_(void, SetOutputFilterParameters) (THIS_ IXAudio2Voice *voice, const XAUDIO2_FILTER_PARAMETERS* param, \
UINT32 op X2DEFAULT(XAUDIO2_COMMIT_NOW)) PURE; \
STDMETHOD_(void, GetOutputFilterParameters) (THIS_ IXAudio2Voice *voice, XAUDIO2_FILTER_PARAMETERS* param) PURE; \
STDMETHOD(SetVolume) (THIS_ float Volume, \
UINT32 OperationSet X2DEFAULT(XAUDIO2_COMMIT_NOW)) PURE; \
STDMETHOD_(void, GetVolume) (THIS_ float* pVolume) PURE; \
STDMETHOD(SetChannelVolumes) (THIS_ UINT32 Channels, const float* pVolumes, \
UINT32 OperationSet X2DEFAULT(XAUDIO2_COMMIT_NOW)) PURE; \
STDMETHOD_(void, GetChannelVolumes) (THIS_ UINT32 Channels, float* pVolumes) PURE; \
STDMETHOD(SetOutputMatrix) (THIS_ IXAudio2Voice* pDestinationVoice, \
UINT32 SourceChannels, UINT32 DestinationChannels, \
const float* pLevelMatrix, \
UINT32 OperationSet X2DEFAULT(XAUDIO2_COMMIT_NOW)) PURE; \
STDMETHOD_(void, GetOutputMatrix) (THIS_ IXAudio2Voice* pDestinationVoice, \
UINT32 SourceChannels, UINT32 DestinationChannels, \
float* pLevelMatrix) PURE; \
STDMETHOD_(void, DestroyVoice) (THIS) PURE
Declare_IXAudio2Voice_Methods();
};
#undef INTERFACE
#define INTERFACE IXAudio2MasteringVoice
DECLARE_INTERFACE_(IXAudio2MasteringVoice, IXAudio2Voice)
{
Declare_IXAudio2Voice_Methods();
};
#undef INTERFACE
#define INTERFACE IXAudio2SourceVoice
DECLARE_INTERFACE_(IXAudio2SourceVoice, IXAudio2Voice)
{
Declare_IXAudio2Voice_Methods();
STDMETHOD(Start) (THIS_ UINT32 Flags, UINT32 OperationSet X2DEFAULT(XAUDIO2_COMMIT_NOW)) PURE;
STDMETHOD(Stop) (THIS_ UINT32 Flags, UINT32 OperationSet X2DEFAULT(XAUDIO2_COMMIT_NOW)) PURE;
STDMETHOD(SubmitSourceBuffer) (THIS_ const XAUDIO2_BUFFER* pBuffer, const XAUDIO2_BUFFER_WMA* pBufferWMA X2DEFAULT(NULL)) PURE;
STDMETHOD(FlushSourceBuffers) (THIS) PURE;
STDMETHOD(Discontinuity) (THIS) PURE;
STDMETHOD(ExitLoop) (THIS_ UINT32 OperationSet X2DEFAULT(XAUDIO2_COMMIT_NOW)) PURE;
STDMETHOD_(void, GetState) (THIS_ XAUDIO2_VOICE_STATE* pVoiceState) PURE;
STDMETHOD(SetFrequencyRatio) (THIS_ float Ratio,
UINT32 OperationSet X2DEFAULT(XAUDIO2_COMMIT_NOW)) PURE;
STDMETHOD_(void, GetFrequencyRatio) (THIS_ float* pRatio) PURE;
};
#undef INTERFACE
#define INTERFACE IXAudio2
DECLARE_INTERFACE_(IXAudio2, IUnknown)
{
STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvInterface) PURE;
STDMETHOD_(ULONG, AddRef) (THIS) PURE;
STDMETHOD_(ULONG, Release) (THIS) PURE;
STDMETHOD(GetDeviceCount) (THIS_ UINT32* pCount) PURE;
STDMETHOD(GetDeviceDetails) (THIS_ UINT32 Index, XAUDIO2_DEVICE_DETAILS* pDeviceDetails) PURE;
STDMETHOD(Initialize) (THIS_ UINT32 Flags X2DEFAULT(0),
XAUDIO2_PROCESSOR XAudio2Processor X2DEFAULT(XAUDIO2_DEFAULT_PROCESSOR)) PURE;
STDMETHOD(RegisterForCallbacks) (IXAudio2EngineCallback* pCallback) PURE;
STDMETHOD_(void, UnregisterForCallbacks) (IXAudio2EngineCallback* pCallback) PURE;
STDMETHOD(CreateSourceVoice) (THIS_ IXAudio2SourceVoice** ppSourceVoice,
const WAVEFORMATEX* pSourceFormat,
UINT32 Flags X2DEFAULT(0),
float MaxFrequencyRatio X2DEFAULT(XAUDIO2_DEFAULT_FREQ_RATIO),
IXAudio2VoiceCallback* pCallback X2DEFAULT(NULL),
const XAUDIO2_VOICE_SENDS* pSendList X2DEFAULT(NULL),
const XAUDIO2_EFFECT_CHAIN* pEffectChain X2DEFAULT(NULL)) PURE;
STDMETHOD(CreateSubmixVoice) (THIS_ IXAudio2SubmixVoice** ppSubmixVoice,
UINT32 InputChannels, UINT32 InputSampleRate,
UINT32 Flags X2DEFAULT(0), UINT32 ProcessingStage X2DEFAULT(0),
const XAUDIO2_VOICE_SENDS* pSendList X2DEFAULT(NULL),
const XAUDIO2_EFFECT_CHAIN* pEffectChain X2DEFAULT(NULL)) PURE;
STDMETHOD(CreateMasteringVoice) (THIS_ IXAudio2MasteringVoice** ppMasteringVoice,
UINT32 InputChannels X2DEFAULT(XAUDIO2_DEFAULT_CHANNELS),
UINT32 InputSampleRate X2DEFAULT(XAUDIO2_DEFAULT_SAMPLERATE),
UINT32 Flags X2DEFAULT(0), UINT32 DeviceIndex X2DEFAULT(0),
const XAUDIO2_EFFECT_CHAIN* pEffectChain X2DEFAULT(NULL)) PURE;
STDMETHOD(StartEngine) (THIS) PURE;
STDMETHOD_(void, StopEngine) (THIS) PURE;
STDMETHOD(CommitChanges) (THIS_ UINT32 OperationSet) PURE;
STDMETHOD_(void, GetPerformanceData) (THIS_ XAUDIO2_PERFORMANCE_DATA* pPerfData) PURE;
STDMETHOD_(void, SetDebugConfiguration) (THIS_ const XAUDIO2_DEBUG_CONFIGURATION* pDebugConfiguration,
void *pReserved X2DEFAULT(NULL)) PURE;
};
#if defined(__cplusplus) && !defined(CINTERFACE)
/* C++ hooks */
#define IXAudio2_Initialize(handle,a,b) handle->Initialize(a, b)
#define IXAudio2SourceVoice_SubmitSourceBuffer(handle, a, b) handle->SubmitSourceBuffer(a, b)
#define IXAudio2SourceVoice_Stop(handle, a, b) handle->Stop(a, b)
#define IXAudio2SourceVoice_DestroyVoice(handle) handle->DestroyVoice()
#define IXAudio2MasteringVoice_DestroyVoice(handle) handle->DestroyVoice()
#define IXAudio2_Release(handle) handle->Release()
#define IXAudio2_CreateSourceVoice(handle, a, b, c, d, e, f, g) handle->CreateSourceVoice(a, b, c, d, e, f, g)
#define IXAudio2_CreateMasteringVoice(handle, a, b, c, d, e, f) handle->CreateMasteringVoice(a, b, c, d, e, f)
#define IXAudio2SourceVoice_Start(handle, a, b) handle->Start(a, b)
#else
/* C hooks */
#define IXAudio2_Initialize(handle,a,b) (handle)->lpVtbl->Initialize(handle, a, b)
#define IXAudio2_Release(handle) (handle)->lpVtbl->Release(handle)
#define IXAudio2_CreateSourceVoice(handle,ppSourceVoice,pSourceFormat,Flags,MaxFrequencyRatio,pCallback,pSendList,pEffectChain) (handle)->lpVtbl->CreateSourceVoice(handle, ppSourceVoice,pSourceFormat,Flags,MaxFrequencyRatio,pCallback,pSendList,pEffectChain)
#define IXAudio2_CreateMasteringVoice(handle,ppMasteringVoice,InputChannels,InputSampleRate,Flags,DeviceIndex,pEffectChain) (handle)->lpVtbl->CreateMasteringVoice(handle, ppMasteringVoice,InputChannels,InputSampleRate,Flags,DeviceIndex,pEffectChain)
#define IXAudio2_GetDeviceCount(handle, puCount) (handle)->lpVtbl->GetDeviceCount(handle, puCount)
#define IXAudio2_GetDeviceDetails(handle, Index,pDeviceDetails) (handle)->lpVtbl->GetDeviceDetails(handle, Index, pDeviceDetails)
#define IXAudio2SourceVoice_Start(handle, Flags, OperationSet) (handle)->lpVtbl->Start(handle, Flags, OperationSet)
#define IXAudio2SourceVoice_Stop(handle, Flags, OperationSet) (handle)->lpVtbl->Stop(handle, Flags, OperationSet)
#define IXAudio2SourceVoice_SubmitSourceBuffer(handle, pBuffer, pBufferWMA) (handle)->lpVtbl->SubmitSourceBuffer(handle, pBuffer, pBufferWMA)
#define IXAudio2SourceVoice_DestroyVoice(handle) (handle)->lpVtbl->DestroyVoice(handle)
#define IXAudio2MasteringVoice_DestroyVoice(handle) (handle)->lpVtbl->DestroyVoice(handle)
#endif
#ifdef _XBOX
STDAPI XAudio2Create(__deref_out IXAudio2** ppXAudio2, UINT32 Flags X2DEFAULT(0),
XAUDIO2_PROCESSOR XAudio2Processor X2DEFAULT(XAUDIO2_DEFAULT_PROCESSOR));
#else
static INLINE HRESULT XAudio2Create(IXAudio2 **ppXAudio2, UINT32 flags, XAUDIO2_PROCESSOR proc)
{
IXAudio2 *pXAudio2 = NULL;
#ifdef __cplusplus
HRESULT hr = CoCreateInstance(CLSID_XAudio2, NULL, CLSCTX_INPROC_SERVER, IID_IXAudio2, (void**)&pXAudio2);
#else
HRESULT hr = CoCreateInstance(&CLSID_XAudio2, NULL, CLSCTX_INPROC_SERVER, &IID_IXAudio2, (void**)&pXAudio2);
#endif
if (SUCCEEDED(hr))
{
hr = IXAudio2_Initialize(pXAudio2, 0, XAUDIO2_DEFAULT_PROCESSOR);
if (SUCCEEDED(hr))
*ppXAudio2 = pXAudio2;
else
IXAudio2_Release(pXAudio2);
}
return hr;
}
#endif
/* Undo the #pragma pack(push, 1) directive at the top of this file */
#pragma pack(pop)
#endif
File diff suppressed because it is too large. Load diff
-6
View File
@@ -55,7 +55,6 @@ typedef struct rarch_CC_resampler
void (*process)(void *re, struct resampler_data *data);
} rarch_CC_resampler_t;
#ifdef _MIPS_ARCH_ALLEGREX
static void resampler_CC_process(void *re_, struct resampler_data *data)
{
@@ -115,7 +114,6 @@ static void resampler_CC_process(void *re_, struct resampler_data *data)
"vadd.q c720, c720, c620 \n"
"vadd.s s730, s730, s730[1] \n"
"mfv %0, s730 \n"
@@ -216,7 +214,6 @@ static void resampler_CC_downsample(void *re_, struct resampler_data *data)
vec_ww1 = _mm_mul_ps(vec_w1, vec_w1);
vec_ww2 = _mm_mul_ps(vec_w2, vec_w2);
vec_ww1 = _mm_mul_ps(vec_ww1, _mm_sub_ps(_mm_set_ps1(3.0),vec_ww1));
vec_ww2 = _mm_mul_ps(vec_ww2, _mm_sub_ps(_mm_set_ps1(3.0),vec_ww2));
@@ -307,7 +304,6 @@ static void resampler_CC_upsample(void *re_, struct resampler_data *data)
vec_ww1 = _mm_mul_ps(vec_w1, vec_w1);
vec_ww2 = _mm_mul_ps(vec_w2, vec_w2);
vec_ww1 = _mm_mul_ps(vec_ww1,_mm_sub_ps(_mm_set_ps1(3.0),vec_ww1));
vec_ww2 = _mm_mul_ps(vec_ww2,_mm_sub_ps(_mm_set_ps1(3.0),vec_ww2));
@@ -349,7 +345,6 @@ static void resampler_CC_upsample(void *re_, struct resampler_data *data)
data->output_frames = outp - (audio_frame_float_t*)data->data_out;
}
#elif defined (__ARM_NEON__) && !defined(DONT_WANT_ARM_OPTIMIZATIONS)
#define CC_RESAMPLER_IDENT "NEON"
@@ -492,7 +487,6 @@ static void resampler_CC_process(void *re_, struct resampler_data *data)
re->process(re_, data);
}
static void *resampler_CC_init(const struct resampler_config *config,
double bandwidth_mod,
enum resampler_quality quality,
+4 -8
View File
@@ -46,14 +46,17 @@
#define NETWORK_COMPAT_HEADERS 1
#endif
#ifdef NETWORK_COMPAT_HEADERS
#include <sys/socket.h>
#include <netdb.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <arpa/inet.h>
#ifdef __CELLOS_LV2__
#include <sys/poll.h>
#else
#include <poll.h>
#endif
#endif
#include <fcntl.h>
#ifdef _WIN32
@@ -158,7 +161,6 @@ static int rsnd_poll(struct pollfd *fd, int numfd, int timeout);
static void rsnd_cb_thread(void *thread_data);
static void rsnd_thread(void *thread_data);
/* Determine whether we're running big- or little endian */
static INLINE int rsnd_is_little_endian(void)
{
@@ -242,7 +244,6 @@ static int rsnd_connect_server( rsound_t *rd )
rd->conn_type = RSD_CONN_TCP;
rd->conn.socket = net_socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if ( rd->conn.socket < 0 )
goto error;
@@ -312,7 +313,6 @@ static int rsnd_send_header_info(rsound_t *rd)
#define FRAMESIZE 34
#define FORMAT 42
uint32_t temp_rate = rd->rate;
uint16_t temp_channels = rd->channels;
@@ -980,7 +980,6 @@ static int rsnd_close_ctl(rsound_t *rd)
return 0;
}
// Sends delay info request to server on the ctl socket. This code section isn't critical, and will work if it works.
// It will never block.
static int rsnd_send_info_query(rsound_t *rd)
@@ -1296,7 +1295,6 @@ static int rsnd_reset(rsound_t *rd)
return 0;
}
int rsd_stop(rsound_t *rd)
{
retro_assert(rd != NULL);
@@ -1403,7 +1401,6 @@ int rsd_exec(rsound_t *rsound)
return fd;
}
/* ioctl()-ish param setting :D */
int rsd_set_param(rsound_t *rd, enum rsd_settings option, void* param)
{
@@ -1493,7 +1490,6 @@ void rsd_delay_wait(rsound_t *rd)
/* Latency of stream in ms */
int latency_ms = rsd_delay_ms(rd);
/* Should we sleep for a while to keep the latency low? */
if ( rd->max_latency < latency_ms )
{
-1
View File
@@ -46,7 +46,6 @@ void _init_vita_heap(void) {
_newlib_vm_memblock = 0;
}
// Create a mutex to use inside _sbrk_r
if (sceKernelCreateLwMutex((struct SceKernelLwMutexWork*)_newlib_sbrk_mutex, "sbrk mutex", 0, 0, 0) < 0) {
goto failure;
+9 -9
View File
@@ -70,7 +70,7 @@ typedef struct video4linux
char dev_name[255];
} video4linux_t;
static int xioctl(int fd, int request, void *args)
static int xioctl(int fd, unsigned long request, void *args)
{
int r;
@@ -91,7 +91,7 @@ static bool init_mmap(void *data)
req.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
req.memory = V4L2_MEMORY_MMAP;
if (xioctl(v4l->fd, (uint8_t)VIDIOC_REQBUFS, &req) == -1)
if (xioctl(v4l->fd, VIDIOC_REQBUFS, &req) == -1)
{
if (errno == EINVAL)
RARCH_ERR("[V4L2]: %s does not support memory mapping.\n", v4l->dev_name);
@@ -122,7 +122,7 @@ static bool init_mmap(void *data)
buf.memory = V4L2_MEMORY_MMAP;
buf.index = v4l->n_buffers;
if (xioctl(v4l->fd, (uint8_t)VIDIOC_QUERYBUF, &buf) == -1)
if (xioctl(v4l->fd, VIDIOC_QUERYBUF, &buf) == -1)
{
RARCH_ERR("[V4L2]: Error - xioctl VIDIOC_QUERYBUF.\n");
return false;
@@ -152,7 +152,7 @@ static bool init_device(void *data)
struct v4l2_cropcap cropcap = {0};
video4linux_t *v4l = (video4linux_t*)data;
if (xioctl(v4l->fd, (uint8_t)VIDIOC_QUERYCAP, &cap) < 0)
if (xioctl(v4l->fd, VIDIOC_QUERYCAP, &cap) < 0)
{
if (errno == EINVAL)
RARCH_ERR("[V4L2]: %s is no V4L2 device.\n", v4l->dev_name);
@@ -176,7 +176,7 @@ static bool init_device(void *data)
cropcap.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
if (xioctl(v4l->fd, (uint8_t)VIDIOC_CROPCAP, &cropcap) == 0)
if (xioctl(v4l->fd, VIDIOC_CROPCAP, &cropcap) == 0)
{
crop.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
crop.c = cropcap.defrect;
@@ -190,7 +190,7 @@ static bool init_device(void *data)
fmt.fmt.pix.pixelformat = V4L2_PIX_FMT_YUYV;
fmt.fmt.pix.field = V4L2_FIELD_NONE;
if (xioctl(v4l->fd, (uint8_t)VIDIOC_S_FMT, &fmt) < 0)
if (xioctl(v4l->fd, VIDIOC_S_FMT, &fmt) < 0)
{
RARCH_ERR("[V4L2]: Error - VIDIOC_S_FMT\n");
return false;
@@ -248,7 +248,7 @@ static bool v4l_start(void *data)
buf.memory = V4L2_MEMORY_MMAP;
buf.index = i;
if (xioctl(v4l->fd, (uint8_t)VIDIOC_QBUF, &buf) == -1)
if (xioctl(v4l->fd, VIDIOC_QBUF, &buf) == -1)
{
RARCH_ERR("[V4L2]: Error - VIDIOC_QBUF.\n");
return false;
@@ -364,7 +364,7 @@ static bool preprocess_image(void *data)
buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
buf.memory = V4L2_MEMORY_MMAP;
if (xioctl(v4l->fd, (uint8_t)VIDIOC_DQBUF, &buf) == -1)
if (xioctl(v4l->fd, VIDIOC_DQBUF, &buf) == -1)
{
switch (errno)
{
@@ -384,7 +384,7 @@ static bool preprocess_image(void *data)
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)
if (xioctl(v4l->fd, VIDIOC_QBUF, &buf) == -1)
RARCH_ERR("[V4L2]: VIDIOC_QBUF\n");
return true;
+59
View File
@@ -0,0 +1,59 @@
#include <file/file_path.h>
#include <string/stdstring.h>
#include <streams/file_stream.h>
#ifdef HAVE_MENU
#include "../menu/menu_driver.h"
#endif
#include "../file_path_special.h"
#include "../configuration.h"
#include "../verbosity.h"
#include "../network/net_http_special.h"
#include "badges.h"
badges_ctx_t badges_ctx;
bool badge_exists(const char* filepath)
{
return filestream_exists(filepath);
}
void set_badge_menu_texture(badges_ctx_t * badges, int i)
{
char badge_file[16];
char fullpath[PATH_MAX_LENGTH];
snprintf(badge_file, sizeof(badge_file), "%s%s", badges->badge_id_list[i],
badges->badge_locked[i] ? "_lock.png" : ".png");
fill_pathname_application_special(fullpath,
PATH_MAX_LENGTH * sizeof(char),
APPLICATION_SPECIAL_DIRECTORY_THUMBNAILS_CHEEVOS_BADGES);
#ifdef HAVE_MENU
menu_display_reset_textures_list(badge_file, fullpath,
&badges->menu_texture_list[i],TEXTURE_FILTER_MIPMAP_LINEAR);
#endif
}
void set_badge_info (badges_ctx_t *badge_struct, int id,
const char *badge_id, bool active)
{
if (!badge_struct)
return;
badge_struct->badge_id_list[id] = badge_id;
badge_struct->badge_locked[id] = active;
set_badge_menu_texture(badge_struct, id);
}
menu_texture_item get_badge_texture(int id)
{
settings_t *settings = config_get_ptr();
if (!settings || !settings->bools.cheevos_badges_enable)
return (menu_texture_item)NULL;
return badges_ctx.menu_texture_list[id];
}
+44
View File
@@ -0,0 +1,44 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2015-2018 - Andre Leiradella
*
* 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/>.
*/
#ifndef __RARCH_CHEEVOS_BADGE_H
#define __RARCH_CHEEVOS_BADGE_H
#include "../menu/menu_driver.h"
#include <retro_common_api.h>
RETRO_BEGIN_DECLS
#define CHEEVOS_BADGE_LIMIT 256
typedef struct
{
bool badge_locked[CHEEVOS_BADGE_LIMIT];
const char * badge_id_list[CHEEVOS_BADGE_LIMIT];
menu_texture_item menu_texture_list[CHEEVOS_BADGE_LIMIT];
} badges_ctx_t;
bool badge_exists(const char* filepath);
void set_badge_menu_texture(badges_ctx_t * badges, int i);
extern void set_badge_info (badges_ctx_t *badge_struct, int id, const char *badge_id, bool active);
extern menu_texture_item get_badge_texture(int id);
extern badges_ctx_t badges_ctx;
static badges_ctx_t new_badges_ctx;
RETRO_END_DECLS
#endif
File diff suppressed because it is too large. Load diff
+76
View File
@@ -0,0 +1,76 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2015-2016 - Andre Leiradella
*
* 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/>.
*/
#ifndef __RARCH_CHEEVOS_CHEEVOS_H
#define __RARCH_CHEEVOS_CHEEVOS_H
#include <stdint.h>
#include <stdlib.h>
#include <boolean.h>
#include "../verbosity.h"
#include <retro_common_api.h>
RETRO_BEGIN_DECLS
typedef struct cheevos_ctx_desc
{
unsigned idx;
char *s;
size_t len;
} cheevos_ctx_desc_t;
enum
{
CHEEVOS_ACTIVE_SOFTCORE = 1 << 0,
CHEEVOS_ACTIVE_HARDCORE = 1 << 1
};
bool cheevos_load(const void *data);
void cheevos_reset_game(void);
void cheevos_populate_menu(void *data);
bool cheevos_get_description(cheevos_ctx_desc_t *desc);
bool cheevos_apply_cheats(bool *data_bool);
bool cheevos_unload(void);
bool cheevos_toggle_hardcore_mode(void);
void cheevos_test(void);
bool cheevos_set_cheats(void);
void cheevos_set_support_cheevos(bool state);
bool cheevos_get_support_cheevos(void);
int cheevos_get_console(void);
extern bool cheevos_loaded;
extern bool cheevos_hardcore_active;
extern bool cheevos_hardcore_paused;
extern bool cheevos_state_loaded_flag;
extern int cheats_are_enabled;
extern int cheats_were_enabled;
RETRO_END_DECLS
#endif /* __RARCH_CHEEVOS_CHEEVOS_H */
+75
View File
@@ -0,0 +1,75 @@
#ifndef __RARCH_CHEEVOS_CORO_H
#define __RARCH_CHEEVOS_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 */
#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 )
/* The coroutine entry point, never use 0 as a label */
#define CORO_BEGIN 0
/* Sets up the coroutine */
#define CORO_SETUP() \
do { \
coro->step = CORO_BEGIN; \
coro->sp = 0; \
} while ( 0 )
#define CORO_STOP() \
do { \
return 0; \
} while ( 0 )
/* Add this macro to your coro_t structure containing the variables for the coroutine */
#define CORO_FIELDS \
int step, sp; \
int stack[ 8 ];
#endif /* __RARCH_CHEEVOS_CORO_H */
+264
View File
@@ -0,0 +1,264 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2015-2018 - Andre Leiradella
*
* 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 "fixup.h"
#include "cheevos.h"
#include "util.h"
#include "../retroarch.h"
#include "../core.h"
#include <rcheevos.h>
static int cheevos_cmpaddr(const void* e1, const void* e2)
{
const cheevos_fixup_t* f1 = (const cheevos_fixup_t*)e1;
const cheevos_fixup_t* f2 = (const cheevos_fixup_t*)e2;
if (f1->address < f2->address)
{
return -1;
}
else if (f1->address > f2->address)
{
return 1;
}
else
{
return 0;
}
}
static size_t cheevos_var_reduce(size_t addr, size_t mask)
{
while (mask)
{
size_t tmp = (mask - 1) & ~mask;
addr = (addr & tmp) | ((addr >> 1) & ~tmp);
mask = (mask & (mask - 1)) >> 1;
}
return addr;
}
static size_t cheevos_var_highest_bit(size_t n)
{
n |= n >> 1;
n |= n >> 2;
n |= n >> 4;
n |= n >> 8;
n |= n >> 16;
return n ^ (n >> 1);
}
void cheevos_fixup_init(cheevos_fixups_t* fixups)
{
fixups->elements = NULL;
fixups->capacity = fixups->count = 0;
fixups->dirty = false;
}
void cheevos_fixup_destroy(cheevos_fixups_t* fixups)
{
CHEEVOS_FREE(fixups->elements);
cheevos_fixup_init(fixups);
}
const uint8_t* cheevos_fixup_find(cheevos_fixups_t* fixups, unsigned address, int console)
{
cheevos_fixup_t key;
cheevos_fixup_t* found;
const uint8_t* location;
if (fixups->dirty)
{
qsort(fixups->elements, fixups->count, sizeof(cheevos_fixup_t), cheevos_cmpaddr);
fixups->dirty = false;
}
key.address = address;
found = (cheevos_fixup_t*)bsearch(&key, fixups->elements, fixups->count, sizeof(cheevos_fixup_t), cheevos_cmpaddr);
if (found != NULL)
{
return found->location;
}
if (fixups->count == fixups->capacity)
{
unsigned new_capacity = fixups->capacity == 0 ? 16 : fixups->capacity * 2;
cheevos_fixup_t* new_elements = (cheevos_fixup_t*)
realloc(fixups->elements, new_capacity * sizeof(cheevos_fixup_t));
if (new_elements == NULL)
{
return NULL;
}
fixups->elements = new_elements;
fixups->capacity = new_capacity;
}
fixups->elements[fixups->count].address = address;
fixups->elements[fixups->count++].location = location =
cheevos_patch_address(address, console);
fixups->dirty = true;
return location;
}
const uint8_t* cheevos_patch_address(unsigned address, int console)
{
rarch_system_info_t* system = runloop_get_system_info();
const void* pointer = NULL;
if (console == RC_CONSOLE_NINTENDO)
{
if (address >= 0x0800 && address < 0x2000)
{
/* Address in the mirrorred RAM, adjust to real RAM. */
CHEEVOS_LOG(CHEEVOS_TAG "NES memory address in mirrorred RAM %X, adjusted to %X\n", address, address & 0x07ff);
address &= 0x07ff;
}
}
else if (console == RC_CONSOLE_GAMEBOY_COLOR)
{
if (address >= 0xe000 && address <= 0xfdff)
{
/* Address in the echo RAM, adjust to real RAM. */
CHEEVOS_LOG(CHEEVOS_TAG "GBC memory address in echo RAM %X, adjusted to %X\n", address, address - 0x2000);
address -= 0x2000;
}
}
if (system->mmaps.num_descriptors != 0)
{
/* We have memory descriptors, use it. */
const rarch_memory_descriptor_t* desc = NULL;
const rarch_memory_descriptor_t* end = NULL;
/* Patch the address to correctly map it to the mmaps. */
if (console == RC_CONSOLE_GAMEBOY_ADVANCE)
{
if (address < 0x8000)
{
/* Internal RAM. */
CHEEVOS_LOG(CHEEVOS_TAG "GBA memory address %X adjusted to %X\n", address, address + 0x3000000);
address += 0x3000000;
}
else
{
/* Work RAM. */
CHEEVOS_LOG(CHEEVOS_TAG "GBA memory address %X adjusted to %X\n", address, address + 0x2000000 - 0x8000);
address += 0x2000000 - 0x8000;
}
}
else if (console == RC_CONSOLE_PC_ENGINE)
{
/* RAM. */
CHEEVOS_LOG(CHEEVOS_TAG "PCE memory address %X adjusted to %X\n", address, address + 0x1f0000);
address += 0x1f0000;
}
else if (console == RC_CONSOLE_SUPER_NINTENDO)
{
if (address < 0x020000)
{
/* Work RAM. */
CHEEVOS_LOG(CHEEVOS_TAG "SNES memory address %X adjusted to %X\n", address, address + 0x7e0000);
address += 0x7e0000;
}
else
{
/* Save RAM. */
CHEEVOS_LOG(CHEEVOS_TAG "SNES memory address %X adjusted to %X\n", address, address + 0x006000 - 0x020000);
address += 0x006000 - 0x020000;
}
}
desc = system->mmaps.descriptors;
end = desc + system->mmaps.num_descriptors;
for (; desc < end; desc++)
{
if (((desc->core.start ^ address) & desc->core.select) == 0)
{
unsigned addr = address;
pointer = desc->core.ptr;
address = (unsigned)cheevos_var_reduce(
(addr - desc->core.start) & desc->disconnect_mask,
desc->core.disconnect);
if (address >= desc->core.len)
address -= cheevos_var_highest_bit(address);
address += desc->core.offset;
CHEEVOS_LOG(CHEEVOS_TAG "address %X set to descriptor %d at offset %X\n", addr, (int)((desc - system->mmaps.descriptors) + 1), address);
break;
}
}
}
else
{
unsigned i;
for (i = 0; i < 4; i++)
{
retro_ctx_memory_info_t meminfo;
switch (i)
{
case 0:
meminfo.id = RETRO_MEMORY_SYSTEM_RAM;
break;
case 1:
meminfo.id = RETRO_MEMORY_SAVE_RAM;
break;
case 2:
meminfo.id = RETRO_MEMORY_VIDEO_RAM;
break;
case 3:
meminfo.id = RETRO_MEMORY_RTC;
break;
}
core_get_memory(&meminfo);
if (address < meminfo.size)
{
pointer = meminfo.data;
break;
}
/**
* HACK Subtract the correct amount of bytes to reach the save RAM as
* it's size is not always set correctly in the core.
*/
if (i == 0 && console == RC_CONSOLE_NINTENDO)
address -= 0x6000;
else
address -= meminfo.size;
}
}
if (pointer == NULL)
{
return NULL;
}
return (const uint8_t*)pointer + address;
}
+48
View File
@@ -0,0 +1,48 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2015-2018 - Andre Leiradella
*
* 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/>.
*/
#ifndef __RARCH_CHEEVOS_FIXUP_H
#define __RARCH_CHEEVOS_FIXUP_H
#include <stdint.h>
#include <boolean.h>
#include <retro_common_api.h>
RETRO_BEGIN_DECLS
typedef struct
{
unsigned address;
const uint8_t* location;
} cheevos_fixup_t;
typedef struct
{
cheevos_fixup_t* elements;
unsigned capacity, count;
bool dirty;
} cheevos_fixups_t;
void cheevos_fixup_init(cheevos_fixups_t* fixups);
void cheevos_fixup_destroy(cheevos_fixups_t* fixups);
const uint8_t* cheevos_fixup_find(cheevos_fixups_t* fixups, unsigned address, int console);
const uint8_t* cheevos_patch_address(unsigned address, int console);
RETRO_END_DECLS
#endif
+12
View File
@@ -0,0 +1,12 @@
#include "hash.h"
uint32_t cheevos_djb2(const char* str, size_t length)
{
const unsigned char* aux = (const unsigned char*)str;
uint32_t hash = 5381;
while (length--)
hash = ( hash << 5 ) + hash + *aux++;
return hash;
}
@@ -1,6 +1,5 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2014 - Hans-Kristian Arntzen
* Copyright (C) 2011-2017 - Daniel De Matteis
* Copyright (C) 2015-2018 - Andre Leiradella
*
* 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-
@@ -14,13 +13,18 @@
* If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __RARCH_HLSL_H
#define __RARCH_HLSL_H
#ifndef __RARCH_CHEEVOS_HASH_H
#define __RARCH_CHEEVOS_HASH_H
#include <stdint.h>
#include <stddef.h>
#include "../video_driver.h"
#include <retro_common_api.h>
#define RARCH_HLSL_MAX_SHADERS 16
RETRO_BEGIN_DECLS
uint32_t cheevos_djb2(const char* str, size_t length);
RETRO_END_DECLS
#endif
+674
View File
@@ -0,0 +1,674 @@
#include "parser.h"
#include "hash.h"
#include "util.h"
#include <formats/jsonsax.h>
#include <string/stdstring.h>
#include <compat/strl.h>
/* C89 wants only int values in enums. */
#define CHEEVOS_JSON_KEY_GAMEID 0xb4960eecU
#define CHEEVOS_JSON_KEY_ACHIEVEMENTS 0x69749ae1U
#define CHEEVOS_JSON_KEY_ID 0x005973f2U
#define CHEEVOS_JSON_KEY_MEMADDR 0x1e76b53fU
#define CHEEVOS_JSON_KEY_TITLE 0x0e2a9a07U
#define CHEEVOS_JSON_KEY_DESCRIPTION 0xe61a1f69U
#define CHEEVOS_JSON_KEY_POINTS 0xca8fce22U
#define CHEEVOS_JSON_KEY_AUTHOR 0xa804edb8U
#define CHEEVOS_JSON_KEY_MODIFIED 0xdcea4fe6U
#define CHEEVOS_JSON_KEY_CREATED 0x3a84721dU
#define CHEEVOS_JSON_KEY_BADGENAME 0x887685d9U
#define CHEEVOS_JSON_KEY_CONSOLE_ID 0x071656e5U
#define CHEEVOS_JSON_KEY_TOKEN 0x0e2dbd26U
#define CHEEVOS_JSON_KEY_FLAGS 0x0d2e96b2U
#define CHEEVOS_JSON_KEY_LEADERBOARDS 0xf1247d2dU
#define CHEEVOS_JSON_KEY_MEM 0x0b8807e4U
#define CHEEVOS_JSON_KEY_FORMAT 0xb341208eU
#define CHEEVOS_JSON_KEY_SUCCESS 0x110461deU
#define CHEEVOS_JSON_KEY_ERROR 0x0d2011cfU
/*****************************************************************************
Gets a value in a JSON
*****************************************************************************/
typedef struct
{
unsigned key_hash;
int is_key;
const char* value;
size_t length;
} cheevos_getvalueud_t;
static int cheevos_getvalue_key(void* userdata,
const char* name, size_t length)
{
cheevos_getvalueud_t* ud = (cheevos_getvalueud_t*)userdata;
ud->is_key = cheevos_djb2(name, length) == ud->key_hash;
return 0;
}
static int cheevos_getvalue_string(void* userdata,
const char* string, size_t length)
{
cheevos_getvalueud_t* ud = (cheevos_getvalueud_t*)userdata;
if (ud->is_key)
{
ud->value = string;
ud->length = length;
ud->is_key = 0;
}
return 0;
}
static int cheevos_getvalue_boolean(void* userdata, int istrue)
{
cheevos_getvalueud_t* ud = (cheevos_getvalueud_t*)userdata;
if (ud->is_key)
{
if (istrue)
{
ud->value = "true";
ud->length = 4;
}
else
{
ud->value = "false";
ud->length = 5;
}
ud->is_key = 0;
}
return 0;
}
static int cheevos_getvalue_null(void* userdata)
{
cheevos_getvalueud_t* ud = (cheevos_getvalueud_t*)userdata;
if (ud->is_key )
{
ud->value = "null";
ud->length = 4;
ud->is_key = 0;
}
return 0;
}
static int cheevos_get_value(const char* json, unsigned key_hash,
char* value, size_t length)
{
static const jsonsax_handlers_t handlers =
{
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
cheevos_getvalue_key,
NULL,
cheevos_getvalue_string,
cheevos_getvalue_string, /* number */
cheevos_getvalue_boolean,
cheevos_getvalue_null
};
cheevos_getvalueud_t ud;
ud.key_hash = key_hash;
ud.is_key = 0;
ud.value = NULL;
ud.length = 0;
*value = 0;
if ((jsonsax_parse(json, &handlers, (void*)&ud) == JSONSAX_OK)
&& ud.value && ud.length < length)
{
strlcpy(value, ud.value, ud.length + 1);
return 0;
}
return -1;
}
/*****************************************************************************
Returns the token of the error message
*****************************************************************************/
int cheevos_get_token(const char* json, char* token, size_t length)
{
cheevos_get_value(json, CHEEVOS_JSON_KEY_ERROR, token, length);
if (!string_is_empty(token))
return -1;
return cheevos_get_value(json, CHEEVOS_JSON_KEY_TOKEN, token, length);
}
/*****************************************************************************
Count number of achievements in a JSON file
*****************************************************************************/
typedef struct
{
int in_cheevos;
int in_lboards;
uint32_t field_hash;
unsigned core_count;
unsigned unofficial_count;
unsigned lboard_count;
} cheevos_countud_t;
static int cheevos_count_end_array(void* userdata)
{
cheevos_countud_t* ud = (cheevos_countud_t*)userdata;
ud->in_cheevos = 0;
ud->in_lboards = 0;
return 0;
}
static int cheevos_count_key(void* userdata,
const char* name, size_t length)
{
cheevos_countud_t* ud = (cheevos_countud_t*)userdata;
ud->field_hash = cheevos_djb2(name, length);
if (ud->field_hash == CHEEVOS_JSON_KEY_ACHIEVEMENTS)
ud->in_cheevos = 1;
else if (ud->field_hash == CHEEVOS_JSON_KEY_LEADERBOARDS)
ud->in_lboards = 1;
return 0;
}
static int cheevos_count_number(void* userdata,
const char* number, size_t length)
{
cheevos_countud_t* ud = (cheevos_countud_t*)userdata;
if (ud->in_cheevos && ud->field_hash == CHEEVOS_JSON_KEY_FLAGS)
{
long flags = strtol(number, NULL, 10);
if (flags == 3)
ud->core_count++; /* Core achievements */
else if (flags == 5)
ud->unofficial_count++; /* Unofficial achievements */
}
else if (ud->in_lboards && ud->field_hash == CHEEVOS_JSON_KEY_ID)
ud->lboard_count++;
return 0;
}
static int cheevos_count_cheevos(const char* json,
unsigned* core_count, unsigned* unofficial_count,
unsigned* lboard_count)
{
static const jsonsax_handlers_t handlers =
{
NULL,
NULL,
NULL,
NULL,
NULL,
cheevos_count_end_array,
cheevos_count_key,
NULL,
NULL,
cheevos_count_number,
NULL,
NULL
};
int res;
cheevos_countud_t ud;
ud.in_cheevos = 0;
ud.in_lboards = 0;
ud.core_count = 0;
ud.unofficial_count = 0;
ud.lboard_count = 0;
res = jsonsax_parse(json, &handlers, (void*)&ud);
*core_count = ud.core_count;
*unofficial_count = ud.unofficial_count;
*lboard_count = ud.lboard_count;
return res;
}
/*****************************************************************************
Parses the cheevos in the JSON
*****************************************************************************/
typedef struct
{
const char* string;
size_t length;
} cheevos_field_t;
typedef struct
{
int in_cheevos;
int in_lboards;
int is_console_id;
unsigned core_count;
unsigned unofficial_count;
unsigned lboard_count;
cheevos_field_t* field;
cheevos_field_t id, memaddr, title, desc, points, author;
cheevos_field_t modified, created, badge, flags, format;
cheevos_rapatchdata_t* patchdata;
} cheevos_readud_t;
static const char* cheevos_dupstr(const cheevos_field_t* field)
{
char* string = (char*)malloc(field->length + 1);
if (!string)
return NULL;
memcpy((void*)string, (void*)field->string, field->length);
string[field->length] = 0;
return string;
}
static int cheevos_new_cheevo(cheevos_readud_t* ud)
{
cheevos_racheevo_t* cheevo = NULL;
unsigned flags = (unsigned)strtol(ud->flags.string, NULL, 10);
if (flags == 3)
cheevo = ud->patchdata->core + ud->core_count++;
else if (flags == 5)
cheevo = ud->patchdata->unofficial + ud->unofficial_count++;
else
return 0;
cheevo->title = cheevos_dupstr(&ud->title);
cheevo->description = cheevos_dupstr(&ud->desc);
cheevo->badge = cheevos_dupstr(&ud->badge);
cheevo->memaddr = cheevos_dupstr(&ud->memaddr);
cheevo->points = (unsigned)strtol(ud->points.string, NULL, 10);
cheevo->id = (unsigned)strtol(ud->id.string, NULL, 10);
if ( !cheevo->title
|| !cheevo->description
|| !cheevo->badge
|| !cheevo->memaddr)
{
CHEEVOS_FREE(cheevo->title);
CHEEVOS_FREE(cheevo->description);
CHEEVOS_FREE(cheevo->badge);
CHEEVOS_FREE(cheevo->memaddr);
return -1;
}
return 0;
}
static int cheevos_new_lboard(cheevos_readud_t* ud)
{
cheevos_ralboard_t* lboard = ud->patchdata->lboards + ud->lboard_count++;
lboard->title = cheevos_dupstr(&ud->title);
lboard->description = cheevos_dupstr(&ud->desc);
lboard->format = cheevos_dupstr(&ud->format);
lboard->mem = cheevos_dupstr(&ud->memaddr);
lboard->id = (unsigned)strtol(ud->id.string, NULL, 10);
if ( !lboard->title
|| !lboard->description
|| !lboard->format
|| !lboard->mem)
{
CHEEVOS_FREE(lboard->title);
CHEEVOS_FREE(lboard->description);
CHEEVOS_FREE(lboard->format);
CHEEVOS_FREE(lboard->mem);
return -1;
}
return 0;
}
static int cheevos_read_end_object(void* userdata)
{
cheevos_readud_t* ud = (cheevos_readud_t*)userdata;
if (ud->in_cheevos)
return cheevos_new_cheevo(ud);
if (ud->in_lboards)
return cheevos_new_lboard(ud);
return 0;
}
static int cheevos_read_end_array(void* userdata)
{
cheevos_readud_t* ud = (cheevos_readud_t*)userdata;
ud->in_cheevos = 0;
ud->in_lboards = 0;
return 0;
}
static int cheevos_read_key(void* userdata,
const char* name, size_t length)
{
cheevos_readud_t* ud = (cheevos_readud_t*)userdata;
int common = ud->in_cheevos || ud->in_lboards;
uint32_t hash = cheevos_djb2(name, length);
ud->field = NULL;
switch (hash)
{
case CHEEVOS_JSON_KEY_ACHIEVEMENTS:
ud->in_cheevos = 1;
break;
case CHEEVOS_JSON_KEY_LEADERBOARDS:
ud->in_lboards = 1;
break;
case CHEEVOS_JSON_KEY_CONSOLE_ID:
ud->is_console_id = 1;
break;
case CHEEVOS_JSON_KEY_ID:
if (common)
ud->field = &ud->id;
break;
case CHEEVOS_JSON_KEY_MEMADDR:
if (ud->in_cheevos)
ud->field = &ud->memaddr;
break;
case CHEEVOS_JSON_KEY_MEM:
if (ud->in_lboards)
ud->field = &ud->memaddr;
break;
case CHEEVOS_JSON_KEY_TITLE:
if (common)
ud->field = &ud->title;
break;
case CHEEVOS_JSON_KEY_DESCRIPTION:
if (common)
ud->field = &ud->desc;
break;
case CHEEVOS_JSON_KEY_POINTS:
if (ud->in_cheevos)
ud->field = &ud->points;
break;
case CHEEVOS_JSON_KEY_AUTHOR:
if (ud->in_cheevos)
ud->field = &ud->author;
break;
case CHEEVOS_JSON_KEY_MODIFIED:
if (ud->in_cheevos)
ud->field = &ud->modified;
break;
case CHEEVOS_JSON_KEY_CREATED:
if (ud->in_cheevos)
ud->field = &ud->created;
break;
case CHEEVOS_JSON_KEY_BADGENAME:
if (ud->in_cheevos)
ud->field = &ud->badge;
break;
case CHEEVOS_JSON_KEY_FLAGS:
if (ud->in_cheevos)
ud->field = &ud->flags;
break;
case CHEEVOS_JSON_KEY_FORMAT:
if (ud->in_lboards)
ud->field = &ud->format;
break;
default:
break;
}
return 0;
}
static int cheevos_read_string(void* userdata,
const char* string, size_t length)
{
cheevos_readud_t* ud = (cheevos_readud_t*)userdata;
if (ud->field)
{
ud->field->string = string;
ud->field->length = length;
}
return 0;
}
static int cheevos_read_number(void* userdata,
const char* number, size_t length)
{
cheevos_readud_t* ud = (cheevos_readud_t*)userdata;
if (ud->field)
{
ud->field->string = number;
ud->field->length = length;
}
else if (ud->is_console_id)
{
ud->patchdata->console_id = strtol(number, NULL, 10);
ud->is_console_id = 0;
}
return 0;
}
int cheevos_get_patchdata(const char* json, cheevos_rapatchdata_t* patchdata)
{
static const jsonsax_handlers_t handlers =
{
NULL,
NULL,
NULL,
cheevos_read_end_object,
NULL,
cheevos_read_end_array,
cheevos_read_key,
NULL,
cheevos_read_string,
cheevos_read_number,
NULL,
NULL
};
cheevos_readud_t ud;
int res;
/* Count the number of achievements in the JSON file. */
res = cheevos_count_cheevos(json, &patchdata->core_count,
&patchdata->unofficial_count, &patchdata->lboard_count);
if (res != JSONSAX_OK)
return -1;
/* Allocate the achievements. */
patchdata->core = (cheevos_racheevo_t*)
calloc(patchdata->core_count, sizeof(cheevos_racheevo_t));
patchdata->unofficial = (cheevos_racheevo_t*)
calloc(patchdata->unofficial_count, sizeof(cheevos_racheevo_t));
patchdata->lboards = (cheevos_ralboard_t*)
calloc(patchdata->lboard_count, sizeof(cheevos_ralboard_t));
if (!patchdata->core ||
!patchdata->unofficial ||
!patchdata->lboards)
{
CHEEVOS_FREE(patchdata->core);
CHEEVOS_FREE(patchdata->unofficial);
CHEEVOS_FREE(patchdata->lboards);
return -1;
}
/* Load the achievements. */
ud.in_cheevos = 0;
ud.in_lboards = 0;
ud.is_console_id = 0;
ud.field = NULL;
ud.core_count = 0;
ud.unofficial_count = 0;
ud.lboard_count = 0;
ud.patchdata = patchdata;
if (jsonsax_parse(json, &handlers, (void*)&ud) != JSONSAX_OK)
{
cheevos_free_patchdata(patchdata);
return -1;
}
return 0;
}
/*****************************************************************************
Frees the patchdata
*****************************************************************************/
void cheevos_free_patchdata(cheevos_rapatchdata_t* patchdata)
{
unsigned i = 0, count = 0;
const cheevos_racheevo_t* cheevo = NULL;
const cheevos_ralboard_t* lboard = NULL;
cheevo = patchdata->core;
for (i = 0, count = patchdata->core_count; i < count; i++, cheevo++)
{
CHEEVOS_FREE(cheevo->title);
CHEEVOS_FREE(cheevo->description);
CHEEVOS_FREE(cheevo->badge);
CHEEVOS_FREE(cheevo->memaddr);
}
cheevo = patchdata->unofficial;
for (i = 0, count = patchdata->unofficial_count; i < count; i++, cheevo++)
{
CHEEVOS_FREE(cheevo->title);
CHEEVOS_FREE(cheevo->description);
CHEEVOS_FREE(cheevo->badge);
CHEEVOS_FREE(cheevo->memaddr);
}
lboard = patchdata->lboards;
for (i = 0, count = patchdata->lboard_count; i < count; i++, lboard++)
{
CHEEVOS_FREE(lboard->title);
CHEEVOS_FREE(lboard->description);
CHEEVOS_FREE(lboard->format);
CHEEVOS_FREE(lboard->mem);
}
CHEEVOS_FREE(patchdata->core);
CHEEVOS_FREE(patchdata->unofficial);
CHEEVOS_FREE(patchdata->lboards);
patchdata->console_id = 0;
patchdata->core = NULL;
patchdata->unofficial = NULL;
patchdata->lboards = NULL;
patchdata->core_count = 0;
patchdata->unofficial_count = 0;
patchdata->lboard_count = 0;
}
/*****************************************************************************
Deactivates unlocked cheevos
*****************************************************************************/
typedef struct
{
int is_element;
cheevos_unlock_cb_t unlock_cb;
void* userdata;
} cheevos_deactivate_t;
static int cheevos_deactivate_index(void* userdata, unsigned int index)
{
cheevos_deactivate_t* ud = (cheevos_deactivate_t*)userdata;
ud->is_element = 1;
return 0;
}
static int cheevos_deactivate_number(void* userdata,
const char* number, size_t length)
{
cheevos_deactivate_t* ud = (cheevos_deactivate_t*)userdata;
unsigned id = 0;
if (ud->is_element)
{
ud->is_element = 0;
id = (unsigned)strtol(number, NULL, 10);
ud->unlock_cb(id, ud->userdata);
}
return 0;
}
void cheevos_deactivate_unlocks(const char* json, cheevos_unlock_cb_t unlock_cb, void* userdata)
{
static const jsonsax_handlers_t handlers =
{
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
cheevos_deactivate_index,
NULL,
cheevos_deactivate_number,
NULL,
NULL
};
cheevos_deactivate_t ud;
ud.is_element = 0;
ud.unlock_cb = unlock_cb;
ud.userdata = userdata;
jsonsax_parse(json, &handlers, (void*)&ud);
}
/*****************************************************************************
Returns the game ID
*****************************************************************************/
unsigned chevos_get_gameid(const char* json)
{
char gameid[32];
if (cheevos_get_value(json, CHEEVOS_JSON_KEY_GAMEID, gameid, sizeof(gameid)) != 0)
return 0;
return (unsigned)strtol(gameid, NULL, 10);
}
+69
View File
@@ -0,0 +1,69 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2015-2018 - Andre Leiradella
*
* 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/>.
*/
#ifndef __RARCH_CHEEVOS_PARSER_H
#define __RARCH_CHEEVOS_PARSER_H
#include <stdint.h>
#include <stddef.h>
#include <boolean.h>
#include <retro_common_api.h>
RETRO_BEGIN_DECLS
typedef struct {
const char* title;
const char* description;
const char* badge;
const char* memaddr;
unsigned points;
unsigned id;
} cheevos_racheevo_t;
typedef struct {
const char* title;
const char* description;
const char* format;
const char* mem;
unsigned id;
} cheevos_ralboard_t;
typedef struct {
unsigned console_id;
cheevos_racheevo_t* core;
cheevos_racheevo_t* unofficial;
cheevos_ralboard_t* lboards;
unsigned core_count;
unsigned unofficial_count;
unsigned lboard_count;
} cheevos_rapatchdata_t;
typedef void (*cheevos_unlock_cb_t)(unsigned id, void* userdata);
int cheevos_get_token(const char* json, char* token, size_t length);
int cheevos_get_patchdata(const char* json, cheevos_rapatchdata_t* patchdata);
void cheevos_free_patchdata(cheevos_rapatchdata_t* patchdata);
void cheevos_deactivate_unlocks(const char* json, cheevos_unlock_cb_t unlock_cb, void* userdata);
unsigned chevos_get_gameid(const char* json);
RETRO_END_DECLS
#endif
+53
View File
@@ -0,0 +1,53 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2015-2016 - Andre Leiradella
*
* 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/>.
*/
#ifndef __RARCH_CHEEVOS_UTIL_H
#define __RARCH_CHEEVOS_UTIL_H
#include <retro_common_api.h>
RETRO_BEGIN_DECLS
/*****************************************************************************
Setup - mainly for debugging
*****************************************************************************/
/* Define this macro to get extra-verbose log for cheevos. */
#undef CHEEVOS_VERBOSE
/*****************************************************************************
End of setup
*****************************************************************************/
#define CHEEVOS_TAG "[CHEEVOS]: "
#define CHEEVOS_FREE(p) do { void* q = (void*)p; if (q != NULL) free(q); } while (0)
#ifdef CHEEVOS_VERBOSE
#define CHEEVOS_LOG RARCH_LOG
#define CHEEVOS_ERR RARCH_ERR
#else
#define CHEEVOS_LOG cheevos_log
#define CHEEVOS_ERR RARCH_ERR
void cheevos_log(const char *fmt, ...);
#endif
RETRO_END_DECLS
#endif /* __RARCH_CHEEVOS_UTIL_H */
+15
View File
@@ -1,3 +1,18 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2015-2018 - Andre Leiradella
*
* 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 <file/file_path.h>
#include <string/stdstring.h>
#include <streams/file_stream.h>
+23 -2
View File
@@ -1,5 +1,24 @@
#ifndef __RARCH_BADGE_H
#define __RARCH_BADGE_H
/* RetroArch - A frontend for libretro.
* Copyright (C) 2015-2018 - Andre Leiradella
*
* 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/>.
*/
#ifndef __RARCH_CHEEVOS_OLD_BADGE_H
#define __RARCH_CHEEVOS_OLD_BADGE_H
#ifdef HAVE_NEW_CHEEVOS
#include "../cheevos-new/badges.h"
#else
#include "../menu/menu_driver.h"
@@ -27,3 +46,5 @@ static badges_ctx_t new_badges_ctx;
RETRO_END_DECLS
#endif
#endif
+209 -192
View File
@@ -1,5 +1,5 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2015-2016 - Andre Leiradella
* Copyright (C) 2015-2018 - Andre Leiradella
*
* 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-
@@ -286,6 +286,9 @@ static cheevos_locals_t cheevos_locals =
};
bool cheevos_loaded = false;
bool cheevos_hardcore_active = false;
bool cheevos_hardcore_paused = false;
bool cheevos_state_loaded_flag = false;
int cheats_are_enabled = 0;
int cheats_were_enabled = 0;
@@ -890,9 +893,9 @@ static int cheevos_new_cheevo(cheevos_readud_t *ud)
cheevo->last = 1;
cheevo->modified = 0;
if ( !cheevo->title ||
!cheevo->description ||
!cheevo->author ||
if ( !cheevo->title ||
!cheevo->description ||
!cheevo->author ||
!cheevo->badge)
goto error;
@@ -1214,7 +1217,7 @@ static int cheevos_parse(const char *json)
calloc(lboard_count, sizeof(cheevos_leaderboard_t));
cheevos_locals.lboard_count = lboard_count;
if ( !cheevos_locals.core.cheevos ||
if ( !cheevos_locals.core.cheevos ||
!cheevos_locals.unofficial.cheevos ||
!cheevos_locals.leaderboards)
{
@@ -1262,7 +1265,7 @@ static int cheevos_test_condition(cheevos_cond_t *cond)
if (!cond)
return 0;
sval = cheevos_var_get_value(&cond->source) +
sval = cheevos_var_get_value(&cond->source) +
cheevos_locals.add_buffer;
tval = cheevos_var_get_value(&cond->target);
@@ -1287,62 +1290,31 @@ static int cheevos_test_condition(cheevos_cond_t *cond)
return 1;
}
static int cheevos_test_cond_set(const cheevos_condset_t *condset,
int *dirty_conds, int *reset_conds, int match_any)
static int cheevos_test_pause_cond_set(const cheevos_condset_t *condset,
int *dirty_conds, int *reset_conds, int process_pause)
{
int cond_valid = 0;
int set_valid = 1;
const cheevos_cond_t *end = NULL;
int set_valid = 1; /* must start true so AND logic works */
cheevos_cond_t *cond = NULL;
if (!condset)
return 0;
end = condset->conds + condset->count;
const cheevos_cond_t *end = condset->conds + condset->count;
cheevos_locals.add_buffer = 0;
cheevos_locals.add_hits = 0;
/* Now, read all Pause conditions, and if any are true,
* do not process further (retain old state). */
for (cond = condset->conds; cond < end; cond++)
{
if (cond->type != CHEEVOS_COND_TYPE_PAUSE_IF)
continue;
/* Reset by default, set to 1 if hit! */
cond->curr_hits = 0;
if (cheevos_test_condition(cond))
{
cond->curr_hits = 1;
*dirty_conds = 1;
/* Early out: this achievement is paused,
* do not process any further! */
return 0;
}
}
/* Read all standard conditions, and process as normal: */
for (cond = condset->conds; cond < end; cond++)
{
if ( cond->type == CHEEVOS_COND_TYPE_PAUSE_IF ||
cond->type == CHEEVOS_COND_TYPE_RESET_IF)
if (cond->pause != process_pause)
continue;
if (cond->type == CHEEVOS_COND_TYPE_ADD_SOURCE)
{
cheevos_locals.add_buffer += cheevos_var_get_value(&cond->source);
set_valid &= 1;
continue;
}
if (cond->type == CHEEVOS_COND_TYPE_SUB_SOURCE)
{
cheevos_locals.add_buffer -= cheevos_var_get_value(&cond->source);
set_valid &= 1;
continue;
}
@@ -1358,17 +1330,17 @@ static int cheevos_test_cond_set(const cheevos_condset_t *condset,
continue;
}
if ( (cond->req_hits != 0) &&
(cond->curr_hits + cheevos_locals.add_hits) >= cond->req_hits)
{
cheevos_locals.add_buffer = 0;
cheevos_locals.add_hits = 0;
continue;
}
/* always evaluate the condition to ensure delta values get tracked correctly */
cond_valid = cheevos_test_condition(cond);
if (cond_valid)
/* if the condition has a target hit count that has already been met,
* it's automatically true, even if not currently true. */
if ( (cond->req_hits != 0) &&
(cond->curr_hits + cheevos_locals.add_hits) >= cond->req_hits)
{
cond_valid = 1;
}
else if (cond_valid)
{
cond->curr_hits++;
*dirty_conds = 1;
@@ -1377,38 +1349,100 @@ static int cheevos_test_cond_set(const cheevos_condset_t *condset,
if (cond->req_hits == 0)
; /* Not a hit-based requirement: ignore any additional logic! */
else if ((cond->curr_hits + cheevos_locals.add_hits) < cond->req_hits)
cond_valid = 0; /* Not entirely valid yet! */
if (match_any)
break;
cond_valid = 0; /* HitCount target has not yet been met, condition is not yet valid. */
}
cheevos_locals.add_buffer = 0;
cheevos_locals.add_hits = 0;
/* Sequential or non-sequential? */
set_valid &= cond_valid;
}
/* Now, ONLY read reset conditions! */
for (cond = condset->conds; cond < end; cond++)
{
if (cond->type != CHEEVOS_COND_TYPE_RESET_IF)
continue;
cond_valid = cheevos_test_condition(cond);
if (cond_valid)
if (cond->type == CHEEVOS_COND_TYPE_PAUSE_IF)
{
*reset_conds = 1; /* Resets all hits found so far */
set_valid = 0; /* Cannot be valid if we've hit a reset condition. */
break; /* No point processing any further reset conditions. */
/* as soon as we find a PauseIf that evaluates to true,
* stop processing the rest of the group. */
if (cond_valid)
return 1;
/* if we make it to the end of the function, make sure we are
* indicating nothing matched. if we do find a later PauseIf match,
* it'll automatically return true via the previous condition. */
set_valid = 0;
if (cond->req_hits == 0)
{
/* PauseIf didn't evaluate true, and doesn't have a HitCount,
* reset the HitCount to indicate the condition didn't match. */
if (cond->curr_hits != 0)
{
cond->curr_hits = 0;
*dirty_conds = 1;
}
}
else
{
/* PauseIf has a HitCount that hasn't been met, ignore it for now. */
}
}
else if (cond->type == CHEEVOS_COND_TYPE_RESET_IF)
{
if (cond_valid)
{
*reset_conds = 1; /* Resets all hits found so far */
set_valid = 0; /* Cannot be valid if we've hit a reset condition. */
}
}
else /* Sequential or non-sequential? */
set_valid &= cond_valid;
}
return set_valid;
}
static int cheevos_test_cond_set(const cheevos_condset_t *condset,
int *dirty_conds, int *reset_conds)
{
int in_pause = 0;
int has_pause = 0;
cheevos_cond_t *cond = NULL;
if (!condset)
return 1; /* important: empty group must evaluate true */
/* the ints below are used for Pause conditions and their dependent AddSource/AddHits. */
/* this loop needs to go backwards to check AddSource/AddHits */
cond = condset->conds + condset->count - 1;
for (; cond >= condset->conds; cond--)
{
if (cond->type == CHEEVOS_COND_TYPE_PAUSE_IF)
{
has_pause = 1;
in_pause = 1;
cond->pause = 1;
}
else if (cond->type == CHEEVOS_COND_TYPE_ADD_SOURCE ||
cond->type == CHEEVOS_COND_TYPE_SUB_SOURCE ||
cond->type == CHEEVOS_COND_TYPE_ADD_HITS)
{
cond->pause = in_pause;
}
else
{
in_pause = 0;
cond->pause = 0;
}
}
if (has_pause)
{ /* one or more Pause conditions exists, if any of them are true,
* stop processing this group. */
if (cheevos_test_pause_cond_set(condset, dirty_conds, reset_conds, 1))
return 0;
}
/* process the non-Pause conditions to see if the group is true */
return cheevos_test_pause_cond_set(condset, dirty_conds, reset_conds, 0);
}
static int cheevos_reset_cond_set(cheevos_condset_t *condset, int deltas)
{
int dirty = 0;
@@ -1467,14 +1501,14 @@ static int cheevos_test_cheevo(cheevo_t *cheevo)
if (condset < end)
{
ret_val = cheevos_test_cond_set(condset, &dirty_conds, &reset_conds, 0);
ret_val = cheevos_test_cond_set(condset, &dirty_conds, &reset_conds);
condset++;
}
while (condset < end)
{
ret_val_sub_cond |= cheevos_test_cond_set(
condset, &dirty_conds, &reset_conds, 0);
condset, &dirty_conds, &reset_conds);
condset++;
}
@@ -1545,7 +1579,7 @@ static void cheevos_make_unlock_url(const cheevo_t *cheevo,
settings->arrays.cheevos_username,
cheevos_locals.token,
cheevo->id,
settings->bools.cheevos_hardcore_mode_enable ? 1 : 0
settings->bools.cheevos_hardcore_mode_enable && !cheevos_hardcore_paused ? 1 : 0
);
url[url_size - 1] = 0;
@@ -1588,7 +1622,7 @@ static void cheevos_test_cheevo_set(const cheevoset_t *set)
end = set->cheevos + set->count;
if (settings && settings->bools.cheevos_hardcore_mode_enable)
if (settings && settings->bools.cheevos_hardcore_mode_enable && !cheevos_hardcore_paused)
mode = CHEEVOS_ACTIVE_HARDCORE;
for (cheevo = set->cheevos; cheevo < end; cheevo++)
@@ -1600,7 +1634,7 @@ static void cheevos_test_cheevo_set(const cheevoset_t *set)
if (cheevo->last)
{
cheevos_condset_t* condset = cheevo->condition.condsets;
const cheevos_condset_t* end = cheevo->condition.condsets
const cheevos_condset_t* end = cheevo->condition.condsets
+ cheevo->condition.count;
for (; condset < end; condset++)
@@ -1632,7 +1666,7 @@ static void cheevos_test_cheevo_set(const cheevoset_t *set)
if (settings && settings->bools.cheevos_auto_screenshot)
{
char shotname[256];
char shotname[4200];
snprintf(shotname, sizeof(shotname), "%s/%s-cheevo-%u",
settings->paths.directory_screenshot,
@@ -1641,7 +1675,7 @@ static void cheevos_test_cheevo_set(const cheevoset_t *set)
shotname[sizeof(shotname) - 1] = '\0';
if (take_screenshot(shotname, true,
video_driver_cached_frame_has_valid_framebuffer()))
video_driver_cached_frame_has_valid_framebuffer(), false, true))
CHEEVOS_LOG("[CHEEVOS]: got a screenshot for cheevo %u\n", cheevo->id);
else
CHEEVOS_LOG("[CHEEVOS]: failed to get screenshot for cheevo %u\n", cheevo->id);
@@ -1672,14 +1706,14 @@ static int cheevos_test_lboard_condition(const cheevos_condition_t* condition)
if (condset < end)
{
ret_val = cheevos_test_cond_set(
condset, &dirty_conds, &reset_conds, 0);
condset, &dirty_conds, &reset_conds);
condset++;
}
while (condset < end)
{
ret_val_sub_cond |= cheevos_test_cond_set(
condset, &dirty_conds, &reset_conds, 0);
condset, &dirty_conds, &reset_conds);
condset++;
}
@@ -1724,7 +1758,7 @@ static int cheevos_expr_value(cheevos_expr_t* expr)
return 0;
}
values[current_value] +=
values[current_value] +=
cheevos_var_get_value(&term->var) * term->multiplier;
if (term->compare_next)
@@ -2023,7 +2057,7 @@ void cheevos_reset_game(void)
if (!cheevo)
return;
end = cheevo + cheevos_locals.core.count;
for (; cheevo < end; cheevo++)
@@ -2039,7 +2073,7 @@ void cheevos_reset_game(void)
void cheevos_populate_menu(void *data)
{
#ifdef HAVE_MENU
unsigned i;
unsigned i = 0;
unsigned items_found = 0;
settings_t *settings = config_get_ptr();
menu_displaylist_info_t *info = (menu_displaylist_info_t*)data;
@@ -2047,40 +2081,55 @@ void cheevos_populate_menu(void *data)
cheevo_t *cheevo = cheevos_locals.core.cheevos;
end = cheevo + cheevos_locals.core.count;
if(settings->bools.cheevos_enable && settings->bools.cheevos_hardcore_mode_enable
&& cheevos_loaded)
{
if (!cheevos_hardcore_paused)
menu_entries_append_enum(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACHIEVEMENT_PAUSE),
msg_hash_to_str(MENU_ENUM_LABEL_ACHIEVEMENT_PAUSE),
MENU_ENUM_LABEL_ACHIEVEMENT_PAUSE,
MENU_SETTING_ACTION_PAUSE_ACHIEVEMENTS, 0, 0);
else
menu_entries_append_enum(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACHIEVEMENT_RESUME),
msg_hash_to_str(MENU_ENUM_LABEL_ACHIEVEMENT_RESUME),
MENU_ENUM_LABEL_ACHIEVEMENT_RESUME,
MENU_SETTING_ACTION_RESUME_ACHIEVEMENTS, 0, 0);
}
if (cheevo)
{
for (i = 0; cheevo < end; i++, cheevo++)
{
if (!(cheevo->active & CHEEVOS_ACTIVE_HARDCORE))
{
menu_entries_append_enum(info->list, cheevo->title,
menu_entries_append_enum(info->list, cheevo->title,
cheevo->description,
MENU_ENUM_LABEL_CHEEVOS_UNLOCKED_ENTRY_HARDCORE,
MENU_SETTINGS_CHEEVOS_START + i, 0, 0);
items_found++;
set_badge_info(&badges_ctx, i, cheevo->badge,
set_badge_info(&badges_ctx, i, cheevo->badge,
(cheevo->active & CHEEVOS_ACTIVE_HARDCORE));
}
else if (!(cheevo->active & CHEEVOS_ACTIVE_SOFTCORE))
{
menu_entries_append_enum(info->list, cheevo->title,
menu_entries_append_enum(info->list, cheevo->title,
cheevo->description,
MENU_ENUM_LABEL_CHEEVOS_UNLOCKED_ENTRY,
MENU_SETTINGS_CHEEVOS_START + i, 0, 0);
items_found++;
set_badge_info(&badges_ctx, i, cheevo->badge,
set_badge_info(&badges_ctx, i, cheevo->badge,
(cheevo->active & CHEEVOS_ACTIVE_SOFTCORE));
}
else
{
menu_entries_append_enum(info->list, cheevo->title,
menu_entries_append_enum(info->list, cheevo->title,
cheevo->description,
MENU_ENUM_LABEL_CHEEVOS_LOCKED_ENTRY,
MENU_SETTINGS_CHEEVOS_START + i, 0, 0);
items_found++;
set_badge_info(&badges_ctx, i, cheevo->badge,
set_badge_info(&badges_ctx, i, cheevo->badge,
(cheevo->active & CHEEVOS_ACTIVE_SOFTCORE));
}
items_found++;
}
}
@@ -2090,7 +2139,7 @@ void cheevos_populate_menu(void *data)
{
end = cheevo + cheevos_locals.unofficial.count;
for (i = cheevos_locals.core.count; cheevo < end; i++, cheevo++)
for (i = items_found; cheevo < end; i++, cheevo++)
{
if (!(cheevo->active & CHEEVOS_ACTIVE_HARDCORE))
{
@@ -2098,7 +2147,6 @@ void cheevos_populate_menu(void *data)
cheevo->description,
MENU_ENUM_LABEL_CHEEVOS_UNLOCKED_ENTRY_HARDCORE,
MENU_SETTINGS_CHEEVOS_START + i, 0, 0);
items_found++;
set_badge_info(&badges_ctx, i, cheevo->badge,
(cheevo->active & CHEEVOS_ACTIVE_HARDCORE));
}
@@ -2108,7 +2156,6 @@ void cheevos_populate_menu(void *data)
cheevo->description,
MENU_ENUM_LABEL_CHEEVOS_UNLOCKED_ENTRY,
MENU_SETTINGS_CHEEVOS_START + i, 0, 0);
items_found++;
set_badge_info(&badges_ctx, i, cheevo->badge,
(cheevo->active & CHEEVOS_ACTIVE_SOFTCORE));
}
@@ -2118,10 +2165,10 @@ void cheevos_populate_menu(void *data)
cheevo->description,
MENU_ENUM_LABEL_CHEEVOS_LOCKED_ENTRY,
MENU_SETTINGS_CHEEVOS_START + i, 0, 0);
items_found++;
set_badge_info(&badges_ctx, i, cheevo->badge,
(cheevo->active & CHEEVOS_ACTIVE_SOFTCORE));
}
items_found++;
}
}
@@ -2151,7 +2198,7 @@ bool cheevos_get_description(cheevos_ctx_desc_t *desc)
if (desc->idx >= cheevos_locals.core.count)
{
cheevos = cheevos_locals.unofficial.cheevos;
desc->idx -= cheevos_locals.unofficial.count;
desc->idx -= cheevos_locals.core.count;
}
if (!string_is_empty(cheevos[desc->idx].description))
@@ -2206,6 +2253,7 @@ bool cheevos_unload(void)
cheevos_locals.unofficial.count = 0;
cheevos_loaded = false;
cheevos_hardcore_paused = false;
return true;
}
@@ -2218,12 +2266,12 @@ bool cheevos_toggle_hardcore_mode(void)
return false;
/* reset and deinit rewind to avoid cheat the score */
if (settings->bools.cheevos_hardcore_mode_enable)
if (settings->bools.cheevos_hardcore_mode_enable && !cheevos_hardcore_paused)
{
const char *msg = msg_hash_to_str(
MSG_CHEEVOS_HARDCORE_MODE_ENABLE);
/* send reset core cmd to avoid any user
/* send reset core cmd to avoid any user
* savestate previusly loaded. */
command_event(CMD_EVENT_RESET, NULL);
@@ -2245,7 +2293,7 @@ bool cheevos_toggle_hardcore_mode(void)
static void cheevos_patch_addresses(cheevoset_t* set)
{
unsigned i;
cheevo_t* cheevo = NULL;
cheevo_t* cheevo = NULL;
if (!set)
return;
@@ -2418,8 +2466,9 @@ void cheevos_test(void)
if (settings->bools.cheevos_test_unofficial)
cheevos_test_cheevo_set(&cheevos_locals.unofficial);
if (settings->bools.cheevos_hardcore_mode_enable &&
settings->bools.cheevos_leaderboards_enable)
if (settings->bools.cheevos_hardcore_mode_enable &&
settings->bools.cheevos_leaderboards_enable &&
!cheevos_hardcore_paused)
cheevos_test_leaderboards();
}
}
@@ -2449,14 +2498,14 @@ cheevos_console_t cheevos_get_console(void)
/* Uncomment the following two lines to debug cheevos_iterate, this will
* disable the coroutine yielding.
*
*
* The code is very easy to understand. It's meant to be like BASIC:
* CORO_GOTO will jump execution to another label, CORO_GOSUB will
* call another label, and CORO_RET will return from a CORO_GOSUB.
*
*
* This coroutine code is inspired in a very old pure C implementation
* that runs everywhere:
*
*
* https://www.chiark.greenend.org.uk/~sgtatham/coroutines.html
*/
/*#undef CORO_YIELD
@@ -2522,10 +2571,12 @@ enum
static int cheevos_iterate(coro_t *coro)
{
ssize_t num_read = 0;
size_t to_read = 4096;
uint8_t *buffer = NULL;
const char *end = NULL;
const int snes_header_len = 0x200;
const int lynx_header_len = 0x40;
ssize_t num_read = 0;
size_t to_read = 4096;
uint8_t *buffer = NULL;
const char *end = NULL;
static const uint32_t genesis_exts[] =
{
@@ -2563,10 +2614,10 @@ static int cheevos_iterate(coro_t *coro)
static cheevos_finder_t finders[] =
{
{SNES_MD5, "SNES (8Mb padding)", snes_exts},
{SNES_MD5, "SNES (discards header)", snes_exts},
{GENESIS_MD5, "Genesis (6Mb padding)", genesis_exts},
{LYNX_MD5, "Atari Lynx (only first 512 bytes)", lynx_exts},
{NES_MD5, "NES (discards VROM)", NULL},
{LYNX_MD5, "Atari Lynx (discards header)", lynx_exts},
{NES_MD5, "NES (discards header)", NULL},
{GENERIC_MD5, "Generic (plain content)", NULL},
{FILENAME_MD5, "Generic (filename)", NULL}
};
@@ -2603,12 +2654,12 @@ static int cheevos_iterate(coro_t *coro)
cheevos_locals.meminfo[3].size);
/* Bail out if cheevos are disabled.
* But set the above anyways,
* But set the above anyways,
* command_read_ram needs it. */
if (!coro->settings->bools.cheevos_enable)
CORO_STOP();
/* Load the content into memory, or copy it
/* Load the content into memory, or copy it
* over to our own buffer */
if (!coro->data)
{
@@ -2799,6 +2850,7 @@ found:
cheevos_locals.unofficial.count = 0;
cheevos_loaded = false;
cheevos_hardcore_paused = false;
CORO_STOP();
}
@@ -2824,7 +2876,7 @@ found:
const cheevo_t* end = cheevo + cheevos_locals.core.count;
int number_of_unlocked = cheevos_locals.core.count;
if (coro->settings->bools.cheevos_hardcore_mode_enable)
if (coro->settings->bools.cheevos_hardcore_mode_enable && !cheevos_hardcore_paused)
mode = CHEEVOS_ACTIVE_HARDCORE;
for (; cheevo < end; cheevo++)
@@ -2850,30 +2902,21 @@ found:
MD5_Init(&coro->md5);
coro->offset = 0;
/* Checks for the existence of a headered SNES file.
Unheadered files fall back to GENERIC_MD5. */
if (coro->len < 0x2000 || coro->len % 0x2000 != snes_header_len)
{
coro->gameid = 0;
CORO_RET();
}
coro->offset = 512;
coro->count = 0;
CORO_GOSUB(EVAL_MD5);
if (coro->count == 0)
{
MD5_Final(coro->hash, &coro->md5);
coro->gameid = 0;
CORO_RET();
}
if (coro->count < size_in_megabytes(8))
{
/*
* Inputs: CHEEVOS_VAR_MD5, CHEEVOS_VAR_OFFSET, CHEEVOS_VAR_COUNT
* Outputs: CHEEVOS_VAR_MD5
*/
coro->offset = 0;
coro->count = size_in_megabytes(8) - coro->count;
CORO_GOSUB(FILL_MD5);
}
MD5_Final(coro->hash, &coro->md5);
CORO_GOTO(GET_GAMEID);
/**************************************************************************
@@ -2913,16 +2956,19 @@ found:
*************************************************************************/
CORO_SUB(LYNX_MD5)
if (coro->len < 0x0240)
/* Checks for the existence of a headered Lynx file.
Unheadered files fall back to GENERIC_MD5. */
if (coro->len <= lynx_header_len ||
memcmp("LYNX", (void *)coro->data, 5) != 0)
{
coro->gameid = 0;
CORO_RET();
}
MD5_Init(&coro->md5);
coro->offset = 0x0040;
coro->count = 0x0200;
coro->offset = lynx_header_len;
coro->count = coro->len - lynx_header_len;
CORO_GOSUB(EVAL_MD5);
MD5_Final(coro->hash, &coro->md5);
@@ -2935,12 +2981,8 @@ found:
*************************************************************************/
CORO_SUB(NES_MD5)
/* Note about the references to the FCEU emulator below. There is no
* core-specific code in this function, it's rather Retro Achievements
* specific code that must be followed to the letter so we compute
* the correct ROM hash. Retro Achievements does indeed use some
* FCEU related method to compute the hash, since its NES emulator
* is based on it. */
/* Checks for the existence of a headered NES file.
Unheadered files fall back to GENERIC_MD5. */
if (coro->len < sizeof(coro->header))
{
@@ -2960,37 +3002,11 @@ found:
CORO_RET();
}
{
size_t romsize = 256;
/* from FCEU core - compute size using the cart mapper */
int mapper = (coro->header.rom_type >> 4) | (coro->header.rom_type2 & 0xF0);
if (coro->header.rom_size)
romsize = next_pow2(coro->header.rom_size);
/* for games not to the power of 2, so we just read enough
* PRG rom from it, but we have to keep ROM_size to the power of 2
* since PRGCartMapping wants ROM_size to be to the power of 2
* so instead if not to power of 2, we just use head.ROM_size when
* we use FCEU_read. */
coro->round = mapper != 53 && mapper != 198 && mapper != 228;
coro->bytes = coro->round ? romsize : coro->header.rom_size;
}
/* from FCEU core - check if Trainer included in ROM data */
MD5_Init(&coro->md5);
coro->offset = sizeof(coro->header) + (coro->header.rom_type & 4
? sizeof(coro->header) : 0);
coro->count = 0x4000 * coro->bytes;
coro->offset = sizeof(coro->header);
coro->count = coro->len - coro->offset;
CORO_GOSUB(EVAL_MD5);
if (coro->count < 0x4000 * coro->bytes)
{
coro->offset = 0xff;
coro->count = 0x4000 * coro->bytes - coro->count;
CORO_GOSUB(FILL_MD5);
}
MD5_Final(coro->hash, &coro->md5);
CORO_GOTO(GET_GAMEID);
@@ -3177,7 +3193,10 @@ found:
{
settings_t *settings = config_get_ptr();
if (!string_is_equal(settings->arrays.menu_driver, "xmb") ||
if (!(
string_is_equal(settings->arrays.menu_driver, "xmb") ||
string_is_equal(settings->arrays.menu_driver, "ozone")
) ||
!settings->bools.cheevos_badges_enable)
CORO_RET();
}
@@ -3253,25 +3272,22 @@ found:
char urle_user[64];
char urle_login[64];
const char *username = coro ? coro->settings->arrays.cheevos_username : NULL;
const char *login;
bool via_token;
const char *login = NULL;
bool via_token = false;
if (coro)
{
if (string_is_empty(coro->settings->arrays.cheevos_password))
{
via_token = true;
login = coro->settings->arrays.cheevos_token;
via_token = true;
login = coro->settings->arrays.cheevos_token;
}
else
{
via_token = false;
login = coro->settings->arrays.cheevos_password;
}
login = coro->settings->arrays.cheevos_password;
}
else
login = NULL;
if (string_is_empty(username) || string_is_empty(login))
{
runloop_msg_queue_push(
@@ -3338,12 +3354,12 @@ found:
msg[sizeof(msg) - 1] = 0;
runloop_msg_queue_push(msg, 0, 3 * 60, false);
}
/* Save token to config and clear pass on success */
*coro->settings->arrays.cheevos_password = '\0';
strncpy(
coro->settings->arrays.cheevos_token,
cheevos_locals.token, sizeof(cheevos_locals.token)
coro->settings->arrays.cheevos_token,
cheevos_locals.token, sizeof(coro->settings->arrays.cheevos_token)
);
CORO_RET();
}
@@ -3351,7 +3367,7 @@ found:
if ((void*)coro->json)
free((void*)coro->json);
/* Site returned error, display it */
snprintf(error_message, sizeof(error_message),
"RetroAchievements: %s",
@@ -3359,13 +3375,13 @@ found:
error_message[sizeof(error_message) - 1] = 0;
runloop_msg_queue_push(error_message, 0, 5 * 60, false);
*coro->settings->arrays.cheevos_token = '\0';
CORO_STOP();
}
runloop_msg_queue_push("RetroAchievements: Error contacting server.", 0, 5 * 60, false);
CHEEVOS_ERR("[CHEEVOS]: error getting user token.\n");
CORO_STOP();
/**************************************************************************
@@ -3476,7 +3492,7 @@ found:
coro->url, sizeof(coro->url),
"http://retroachievements.org/dorequest.php?r=unlocks&u=%s&t=%s&g=%u&h=0",
coro->settings->arrays.cheevos_username,
cheevos_locals.token, coro->gameid
cheevos_locals.token, coro->gameid
);
coro->url[sizeof(coro->url) - 1] = 0;
@@ -3543,7 +3559,7 @@ found:
coro->url, sizeof(coro->url),
"http://retroachievements.org/dorequest.php?r=postactivity&u=%s&t=%s&a=3&m=%u",
coro->settings->arrays.cheevos_username,
cheevos_locals.token, coro->gameid
cheevos_locals.token, coro->gameid
);
coro->url[sizeof(coro->url) - 1] = 0;
@@ -3610,6 +3626,7 @@ bool cheevos_load(const void *data)
coro_t *coro = NULL;
cheevos_loaded = false;
cheevos_hardcore_paused = false;
if (!cheevos_locals.core_supports || !data)
return false;
+171 -161
View File
@@ -1,161 +1,171 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2015-2016 - Andre Leiradella
*
* 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/>.
*/
#ifndef __RARCH_CHEEVOS_H
#define __RARCH_CHEEVOS_H
#include <stdint.h>
#include <stdlib.h>
#include <boolean.h>
#include <retro_common_api.h>
RETRO_BEGIN_DECLS
/*****************************************************************************
Setup - mainly for debugging
*****************************************************************************/
/* Define this macro to get extra-verbose log for cheevos. */
#undef CHEEVOS_VERBOSE
/*****************************************************************************
End of setup
*****************************************************************************/
#define CHEEVOS_TAG "[CHEEVOS]: "
#ifdef CHEEVOS_VERBOSE
#define CHEEVOS_LOG RARCH_LOG
#define CHEEVOS_ERR RARCH_ERR
#else
void cheevos_log(const char *fmt, ...);
#define CHEEVOS_LOG cheevos_log
#define CHEEVOS_ERR cheevos_log
#endif
typedef struct cheevos_ctx_desc
{
unsigned idx;
char *s;
size_t len;
} cheevos_ctx_desc_t;
typedef enum
{
CHEEVOS_CONSOLE_NONE = 0,
/* Don't change those, the values match the console IDs
* at retroachievements.org. */
CHEEVOS_CONSOLE_MEGA_DRIVE = 1,
CHEEVOS_CONSOLE_NINTENDO_64 = 2,
CHEEVOS_CONSOLE_SUPER_NINTENDO = 3,
CHEEVOS_CONSOLE_GAMEBOY = 4,
CHEEVOS_CONSOLE_GAMEBOY_ADVANCE = 5,
CHEEVOS_CONSOLE_GAMEBOY_COLOR = 6,
CHEEVOS_CONSOLE_NINTENDO = 7,
CHEEVOS_CONSOLE_PC_ENGINE = 8,
CHEEVOS_CONSOLE_SEGA_CD = 9,
CHEEVOS_CONSOLE_SEGA_32X = 10,
CHEEVOS_CONSOLE_MASTER_SYSTEM = 11,
CHEEVOS_CONSOLE_PLAYSTATION = 12,
CHEEVOS_CONSOLE_ATARI_LYNX = 13,
CHEEVOS_CONSOLE_NEOGEO_POCKET = 14,
CHEEVOS_CONSOLE_GAME_GEAR = 15,
CHEEVOS_CONSOLE_GAMECUBE = 16,
CHEEVOS_CONSOLE_ATARI_JAGUAR = 17,
CHEEVOS_CONSOLE_NINTENDO_DS = 18,
CHEEVOS_CONSOLE_WII = 19,
CHEEVOS_CONSOLE_WII_U = 20,
CHEEVOS_CONSOLE_PLAYSTATION_2 = 21,
CHEEVOS_CONSOLE_XBOX = 22,
CHEEVOS_CONSOLE_SKYNET = 23,
CHEEVOS_CONSOLE_XBOX_ONE = 24,
CHEEVOS_CONSOLE_ATARI_2600 = 25,
CHEEVOS_CONSOLE_MS_DOS = 26,
CHEEVOS_CONSOLE_ARCADE = 27,
CHEEVOS_CONSOLE_VIRTUAL_BOY = 28,
CHEEVOS_CONSOLE_MSX = 29,
CHEEVOS_CONSOLE_COMMODORE_64 = 30,
CHEEVOS_CONSOLE_ZX81 = 31
} cheevos_console_t;
enum
{
CHEEVOS_DIRTY_TITLE = 1 << 0,
CHEEVOS_DIRTY_DESC = 1 << 1,
CHEEVOS_DIRTY_POINTS = 1 << 2,
CHEEVOS_DIRTY_AUTHOR = 1 << 3,
CHEEVOS_DIRTY_ID = 1 << 4,
CHEEVOS_DIRTY_BADGE = 1 << 5,
CHEEVOS_DIRTY_CONDITIONS = 1 << 6,
CHEEVOS_DIRTY_VOTES = 1 << 7,
CHEEVOS_DIRTY_DESCRIPTION = 1 << 8,
CHEEVOS_DIRTY_ALL = (1 << 9) - 1
};
enum
{
CHEEVOS_ACTIVE_SOFTCORE = 1 << 0,
CHEEVOS_ACTIVE_HARDCORE = 1 << 1
};
enum
{
CHEEVOS_FORMAT_FRAMES = 0,
CHEEVOS_FORMAT_SECS,
CHEEVOS_FORMAT_MILLIS,
CHEEVOS_FORMAT_SCORE,
CHEEVOS_FORMAT_VALUE,
CHEEVOS_FORMAT_OTHER
};
bool cheevos_load(const void *data);
void cheevos_reset_game(void);
void cheevos_populate_menu(void *data);
bool cheevos_get_description(cheevos_ctx_desc_t *desc);
bool cheevos_apply_cheats(bool *data_bool);
bool cheevos_unload(void);
bool cheevos_toggle_hardcore_mode(void);
void cheevos_test(void);
bool cheevos_set_cheats(void);
void cheevos_set_support_cheevos(bool state);
bool cheevos_get_support_cheevos(void);
cheevos_console_t cheevos_get_console(void);
extern bool cheevos_loaded;
extern int cheats_are_enabled;
extern int cheats_were_enabled;
RETRO_END_DECLS
#endif /* __RARCH_CHEEVOS_H */
/* RetroArch - A frontend for libretro.
* Copyright (C) 2015-2018 - Andre Leiradella
*
* 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/>.
*/
#ifndef __RARCH_CHEEVOS_OLD_H
#define __RARCH_CHEEVOS_OLD_H
#ifdef HAVE_NEW_CHEEVOS
#include "../cheevos-new/cheevos.h"
#else
#include <stdint.h>
#include <stdlib.h>
#include <boolean.h>
#include <retro_common_api.h>
RETRO_BEGIN_DECLS
/*****************************************************************************
Setup - mainly for debugging
*****************************************************************************/
/* Define this macro to get extra-verbose log for cheevos. */
#undef CHEEVOS_VERBOSE
/*****************************************************************************
End of setup
*****************************************************************************/
#define CHEEVOS_TAG "[CHEEVOS]: "
#ifdef CHEEVOS_VERBOSE
#define CHEEVOS_LOG RARCH_LOG
#define CHEEVOS_ERR RARCH_ERR
#else
void cheevos_log(const char *fmt, ...);
#define CHEEVOS_LOG cheevos_log
#define CHEEVOS_ERR cheevos_log
#endif
typedef struct cheevos_ctx_desc
{
unsigned idx;
char *s;
size_t len;
} cheevos_ctx_desc_t;
typedef enum
{
CHEEVOS_CONSOLE_NONE = 0,
/* Don't change those, the values match the console IDs
* at retroachievements.org. */
CHEEVOS_CONSOLE_MEGA_DRIVE = 1,
CHEEVOS_CONSOLE_NINTENDO_64 = 2,
CHEEVOS_CONSOLE_SUPER_NINTENDO = 3,
CHEEVOS_CONSOLE_GAMEBOY = 4,
CHEEVOS_CONSOLE_GAMEBOY_ADVANCE = 5,
CHEEVOS_CONSOLE_GAMEBOY_COLOR = 6,
CHEEVOS_CONSOLE_NINTENDO = 7,
CHEEVOS_CONSOLE_PC_ENGINE = 8,
CHEEVOS_CONSOLE_SEGA_CD = 9,
CHEEVOS_CONSOLE_SEGA_32X = 10,
CHEEVOS_CONSOLE_MASTER_SYSTEM = 11,
CHEEVOS_CONSOLE_PLAYSTATION = 12,
CHEEVOS_CONSOLE_ATARI_LYNX = 13,
CHEEVOS_CONSOLE_NEOGEO_POCKET = 14,
CHEEVOS_CONSOLE_GAME_GEAR = 15,
CHEEVOS_CONSOLE_GAMECUBE = 16,
CHEEVOS_CONSOLE_ATARI_JAGUAR = 17,
CHEEVOS_CONSOLE_NINTENDO_DS = 18,
CHEEVOS_CONSOLE_WII = 19,
CHEEVOS_CONSOLE_WII_U = 20,
CHEEVOS_CONSOLE_PLAYSTATION_2 = 21,
CHEEVOS_CONSOLE_XBOX = 22,
CHEEVOS_CONSOLE_SKYNET = 23,
CHEEVOS_CONSOLE_XBOX_ONE = 24,
CHEEVOS_CONSOLE_ATARI_2600 = 25,
CHEEVOS_CONSOLE_MS_DOS = 26,
CHEEVOS_CONSOLE_ARCADE = 27,
CHEEVOS_CONSOLE_VIRTUAL_BOY = 28,
CHEEVOS_CONSOLE_MSX = 29,
CHEEVOS_CONSOLE_COMMODORE_64 = 30,
CHEEVOS_CONSOLE_ZX81 = 31,
CHEEVOS_CONSOLE_ATARI_7800 = 51
} cheevos_console_t;
enum
{
CHEEVOS_DIRTY_TITLE = 1 << 0,
CHEEVOS_DIRTY_DESC = 1 << 1,
CHEEVOS_DIRTY_POINTS = 1 << 2,
CHEEVOS_DIRTY_AUTHOR = 1 << 3,
CHEEVOS_DIRTY_ID = 1 << 4,
CHEEVOS_DIRTY_BADGE = 1 << 5,
CHEEVOS_DIRTY_CONDITIONS = 1 << 6,
CHEEVOS_DIRTY_VOTES = 1 << 7,
CHEEVOS_DIRTY_DESCRIPTION = 1 << 8,
CHEEVOS_DIRTY_ALL = (1 << 9) - 1
};
enum
{
CHEEVOS_ACTIVE_SOFTCORE = 1 << 0,
CHEEVOS_ACTIVE_HARDCORE = 1 << 1
};
enum
{
CHEEVOS_FORMAT_FRAMES = 0,
CHEEVOS_FORMAT_SECS,
CHEEVOS_FORMAT_MILLIS,
CHEEVOS_FORMAT_SCORE,
CHEEVOS_FORMAT_VALUE,
CHEEVOS_FORMAT_OTHER
};
bool cheevos_load(const void *data);
void cheevos_reset_game(void);
void cheevos_populate_menu(void *data);
bool cheevos_get_description(cheevos_ctx_desc_t *desc);
bool cheevos_apply_cheats(bool *data_bool);
bool cheevos_unload(void);
bool cheevos_toggle_hardcore_mode(void);
void cheevos_test(void);
bool cheevos_set_cheats(void);
void cheevos_set_support_cheevos(bool state);
bool cheevos_get_support_cheevos(void);
cheevos_console_t cheevos_get_console(void);
extern bool cheevos_loaded;
extern bool cheevos_hardcore_active;
extern bool cheevos_hardcore_paused;
extern bool cheevos_state_loaded_flag;
extern int cheats_are_enabled;
extern int cheats_were_enabled;
RETRO_END_DECLS
#endif
#endif /* __RARCH_CHEEVOS_H */
+189 -189
View File
@@ -1,189 +1,189 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2015-2017 - Andre Leiradella
*
* 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 "cond.h"
#include "var.h"
#include "../retroarch.h"
#include "../verbosity.h"
/*****************************************************************************
Parsing
*****************************************************************************/
static cheevos_cond_op_t cheevos_cond_parse_operator(const char** memaddr)
{
const char *str = *memaddr;
cheevos_cond_op_t op;
if (*str == '=' && str[1] == '=')
{
op = CHEEVOS_COND_OP_EQUALS;
str += 2;
}
else if (*str == '=')
{
op = CHEEVOS_COND_OP_EQUALS;
str++;
}
else if (*str == '!' && str[1] == '=')
{
op = CHEEVOS_COND_OP_NOT_EQUAL_TO;
str += 2;
}
else if (*str == '<' && str[1] == '=')
{
op = CHEEVOS_COND_OP_LESS_THAN_OR_EQUAL;
str += 2;
}
else if (*str == '<')
{
op = CHEEVOS_COND_OP_LESS_THAN;
str++;
}
else if (*str == '>' && str[1] == '=')
{
op = CHEEVOS_COND_OP_GREATER_THAN_OR_EQUAL;
str += 2;
}
else if (*str == '>')
{
op = CHEEVOS_COND_OP_GREATER_THAN;
str++;
}
else
{
CHEEVOS_ERR(CHEEVOS_TAG "unknown operator %c\n.", *str);
op = CHEEVOS_COND_OP_EQUALS;
}
*memaddr = str;
return op;
}
void cheevos_cond_parse(cheevos_cond_t* cond, const char** memaddr)
{
const char* str = *memaddr;
cond->type = CHEEVOS_COND_TYPE_STANDARD;
if (*str != 0 && str[1] == ':')
{
int skip = 2;
switch (*str)
{
case 'R':
cond->type = CHEEVOS_COND_TYPE_RESET_IF;
break;
case 'P':
cond->type = CHEEVOS_COND_TYPE_PAUSE_IF;
break;
case 'A':
cond->type = CHEEVOS_COND_TYPE_ADD_SOURCE;
break;
case 'B':
cond->type = CHEEVOS_COND_TYPE_SUB_SOURCE;
break;
case 'C':
cond->type = CHEEVOS_COND_TYPE_ADD_HITS;
break;
default:
skip = 0;
break;
}
str += skip;
}
cheevos_var_parse(&cond->source, &str);
cond->op = cheevos_cond_parse_operator(&str);
cheevos_var_parse(&cond->target, &str);
cond->curr_hits = 0;
if (*str == '(' || *str == '.')
{
char* end;
cond->req_hits = (unsigned)strtol(str + 1, &end, 10);
str = end + (*end == ')' || *end == '.');
}
else
cond->req_hits = 0;
*memaddr = str;
}
unsigned cheevos_cond_count_in_set(const char* memaddr, unsigned which)
{
cheevos_cond_t dummy;
unsigned index = 0;
unsigned count = 0;
for (;;)
{
for (;;)
{
cheevos_cond_parse(&dummy, &memaddr);
if (index == which)
count++;
if (*memaddr != '_')
break;
memaddr++;
}
index++;
if (*memaddr != 'S')
break;
memaddr++;
}
return count;
}
void cheevos_cond_parse_in_set(cheevos_cond_t* cond, const char* memaddr, unsigned which)
{
cheevos_cond_t dummy;
unsigned index = 0;
for (;;)
{
for (;;)
{
if (index == which)
{
cheevos_cond_parse(cond, &memaddr);
cond++;
}
else
cheevos_cond_parse(&dummy, &memaddr);
if (*memaddr != '_')
break;
memaddr++;
}
index++;
if (*memaddr != 'S')
break;
memaddr++;
}
}
/* RetroArch - A frontend for libretro.
* Copyright (C) 2015-2017 - Andre Leiradella
*
* 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 "cond.h"
#include "var.h"
#include "../retroarch.h"
#include "../verbosity.h"
/*****************************************************************************
Parsing
*****************************************************************************/
static cheevos_cond_op_t cheevos_cond_parse_operator(const char** memaddr)
{
const char *str = *memaddr;
cheevos_cond_op_t op;
if (*str == '=' && str[1] == '=')
{
op = CHEEVOS_COND_OP_EQUALS;
str += 2;
}
else if (*str == '=')
{
op = CHEEVOS_COND_OP_EQUALS;
str++;
}
else if (*str == '!' && str[1] == '=')
{
op = CHEEVOS_COND_OP_NOT_EQUAL_TO;
str += 2;
}
else if (*str == '<' && str[1] == '=')
{
op = CHEEVOS_COND_OP_LESS_THAN_OR_EQUAL;
str += 2;
}
else if (*str == '<')
{
op = CHEEVOS_COND_OP_LESS_THAN;
str++;
}
else if (*str == '>' && str[1] == '=')
{
op = CHEEVOS_COND_OP_GREATER_THAN_OR_EQUAL;
str += 2;
}
else if (*str == '>')
{
op = CHEEVOS_COND_OP_GREATER_THAN;
str++;
}
else
{
CHEEVOS_ERR(CHEEVOS_TAG "unknown operator %c\n.", *str);
op = CHEEVOS_COND_OP_EQUALS;
}
*memaddr = str;
return op;
}
void cheevos_cond_parse(cheevos_cond_t* cond, const char** memaddr)
{
const char* str = *memaddr;
cond->type = CHEEVOS_COND_TYPE_STANDARD;
if (*str != 0 && str[1] == ':')
{
int skip = 2;
switch (*str)
{
case 'R':
cond->type = CHEEVOS_COND_TYPE_RESET_IF;
break;
case 'P':
cond->type = CHEEVOS_COND_TYPE_PAUSE_IF;
break;
case 'A':
cond->type = CHEEVOS_COND_TYPE_ADD_SOURCE;
break;
case 'B':
cond->type = CHEEVOS_COND_TYPE_SUB_SOURCE;
break;
case 'C':
cond->type = CHEEVOS_COND_TYPE_ADD_HITS;
break;
default:
skip = 0;
break;
}
str += skip;
}
cheevos_var_parse(&cond->source, &str);
cond->op = cheevos_cond_parse_operator(&str);
cheevos_var_parse(&cond->target, &str);
cond->curr_hits = 0;
if (*str == '(' || *str == '.')
{
char* end;
cond->req_hits = (unsigned)strtol(str + 1, &end, 10);
str = end + (*end == ')' || *end == '.');
}
else
cond->req_hits = 0;
*memaddr = str;
}
unsigned cheevos_cond_count_in_set(const char* memaddr, unsigned which)
{
cheevos_cond_t dummy;
unsigned index = 0;
unsigned count = 0;
for (;;)
{
for (;;)
{
cheevos_cond_parse(&dummy, &memaddr);
if (index == which)
count++;
if (*memaddr != '_')
break;
memaddr++;
}
index++;
if (*memaddr != 'S')
break;
memaddr++;
}
return count;
}
void cheevos_cond_parse_in_set(cheevos_cond_t* cond, const char* memaddr, unsigned which)
{
cheevos_cond_t dummy;
unsigned index = 0;
for (;;)
{
for (;;)
{
if (index == which)
{
cheevos_cond_parse(cond, &memaddr);
cond++;
}
else
cheevos_cond_parse(&dummy, &memaddr);
if (*memaddr != '_')
break;
memaddr++;
}
index++;
if (*memaddr != 'S')
break;
memaddr++;
}
}
+63 -62
View File
@@ -1,62 +1,63 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2015-2017 - Andre Leiradella
*
* 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/>.
*/
#ifndef __RARCH_CHEEVOS_COND_H
#define __RARCH_CHEEVOS_COND_H
#include "var.h"
#include <retro_common_api.h>
RETRO_BEGIN_DECLS
typedef enum
{
CHEEVOS_COND_TYPE_STANDARD,
CHEEVOS_COND_TYPE_PAUSE_IF,
CHEEVOS_COND_TYPE_RESET_IF,
CHEEVOS_COND_TYPE_ADD_SOURCE,
CHEEVOS_COND_TYPE_SUB_SOURCE,
CHEEVOS_COND_TYPE_ADD_HITS
} cheevos_cond_type_t;
typedef enum
{
CHEEVOS_COND_OP_EQUALS,
CHEEVOS_COND_OP_LESS_THAN,
CHEEVOS_COND_OP_LESS_THAN_OR_EQUAL,
CHEEVOS_COND_OP_GREATER_THAN,
CHEEVOS_COND_OP_GREATER_THAN_OR_EQUAL,
CHEEVOS_COND_OP_NOT_EQUAL_TO
} cheevos_cond_op_t;
typedef struct
{
cheevos_cond_type_t type;
unsigned req_hits;
unsigned curr_hits;
cheevos_var_t source;
cheevos_cond_op_t op;
cheevos_var_t target;
} cheevos_cond_t;
void cheevos_cond_parse(cheevos_cond_t* cond, const char** memaddr);
unsigned cheevos_cond_count_in_set(const char* memaddr, unsigned which);
void cheevos_cond_parse_in_set(cheevos_cond_t* cond, const char* memaddr, unsigned which);
RETRO_END_DECLS
#endif /* __RARCH_CHEEVOS_COND_H */
/* RetroArch - A frontend for libretro.
* Copyright (C) 2015-2017 - Andre Leiradella
*
* 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/>.
*/
#ifndef __RARCH_CHEEVOS_COND_H
#define __RARCH_CHEEVOS_COND_H
#include "var.h"
#include <retro_common_api.h>
RETRO_BEGIN_DECLS
typedef enum
{
CHEEVOS_COND_TYPE_STANDARD,
CHEEVOS_COND_TYPE_PAUSE_IF,
CHEEVOS_COND_TYPE_RESET_IF,
CHEEVOS_COND_TYPE_ADD_SOURCE,
CHEEVOS_COND_TYPE_SUB_SOURCE,
CHEEVOS_COND_TYPE_ADD_HITS
} cheevos_cond_type_t;
typedef enum
{
CHEEVOS_COND_OP_EQUALS,
CHEEVOS_COND_OP_LESS_THAN,
CHEEVOS_COND_OP_LESS_THAN_OR_EQUAL,
CHEEVOS_COND_OP_GREATER_THAN,
CHEEVOS_COND_OP_GREATER_THAN_OR_EQUAL,
CHEEVOS_COND_OP_NOT_EQUAL_TO
} cheevos_cond_op_t;
typedef struct
{
cheevos_cond_type_t type;
unsigned req_hits;
unsigned curr_hits;
char pause;
cheevos_var_t source;
cheevos_cond_op_t op;
cheevos_var_t target;
} cheevos_cond_t;
void cheevos_cond_parse(cheevos_cond_t* cond, const char** memaddr);
unsigned cheevos_cond_count_in_set(const char* memaddr, unsigned which);
void cheevos_cond_parse_in_set(cheevos_cond_t* cond, const char* memaddr, unsigned which);
RETRO_END_DECLS
#endif /* __RARCH_CHEEVOS_COND_H */
+75 -75
View File
@@ -1,75 +1,75 @@
#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 */
#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 )
/* The coroutine entry point, never use 0 as a label */
#define CORO_BEGIN 0
/* Sets up the coroutine */
#define CORO_SETUP() \
do { \
coro->step = CORO_BEGIN; \
coro->sp = 0; \
} while ( 0 )
#define CORO_STOP() \
do { \
return 0; \
} while ( 0 )
/* Add this macro to your coro_t structure containing the variables for the coroutine */
#define CORO_FIELDS \
int step, sp; \
int stack[ 8 ];
#endif /* CORO_H */
#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 */
#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 )
/* The coroutine entry point, never use 0 as a label */
#define CORO_BEGIN 0
/* Sets up the coroutine */
#define CORO_SETUP() \
do { \
coro->step = CORO_BEGIN; \
coro->sp = 0; \
} while ( 0 )
#define CORO_STOP() \
do { \
return 0; \
} while ( 0 )
/* Add this macro to your coro_t structure containing the variables for the coroutine */
#define CORO_FIELDS \
int step, sp; \
int stack[ 8 ];
#endif /* CORO_H */
+415 -416
View File
@@ -1,416 +1,415 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2015-2017 - Andre Leiradella
*
* 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 <ctype.h>
#include <stdint.h>
#include <libretro.h>
#include "var.h"
#include "../retroarch.h"
#include "../core.h"
#include "../verbosity.h"
/*****************************************************************************
Parsing
*****************************************************************************/
static cheevos_var_size_t cheevos_var_parse_prefix(const char** memaddr)
{
/* Careful not to use ABCDEF here, this denotes part of an actual variable! */
const char* str = *memaddr;
cheevos_var_size_t size;
switch (toupper((unsigned char)*str++))
{
case 'M':
size = CHEEVOS_VAR_SIZE_BIT_0;
break;
case 'N':
size = CHEEVOS_VAR_SIZE_BIT_1;
break;
case 'O':
size = CHEEVOS_VAR_SIZE_BIT_2;
break;
case 'P':
size = CHEEVOS_VAR_SIZE_BIT_3;
break;
case 'Q':
size = CHEEVOS_VAR_SIZE_BIT_4;
break;
case 'R':
size = CHEEVOS_VAR_SIZE_BIT_5;
break;
case 'S':
size = CHEEVOS_VAR_SIZE_BIT_6;
break;
case 'T':
size = CHEEVOS_VAR_SIZE_BIT_7;
break;
case 'L':
size = CHEEVOS_VAR_SIZE_NIBBLE_LOWER;
break;
case 'U':
size = CHEEVOS_VAR_SIZE_NIBBLE_UPPER;
break;
case 'H':
size = CHEEVOS_VAR_SIZE_EIGHT_BITS;
break;
case 'X':
size = CHEEVOS_VAR_SIZE_THIRTYTWO_BITS;
break;
default:
str--;
/* fall through */
case ' ':
size = CHEEVOS_VAR_SIZE_SIXTEEN_BITS;
break;
}
*memaddr = str;
return size;
}
static size_t cheevos_var_reduce(size_t addr, size_t mask)
{
while (mask)
{
size_t tmp = (mask - 1) & ~mask;
addr = (addr & tmp) | ((addr >> 1) & ~tmp);
mask = (mask & (mask - 1)) >> 1;
}
return addr;
}
static size_t cheevos_var_highest_bit(size_t n)
{
n |= n >> 1;
n |= n >> 2;
n |= n >> 4;
n |= n >> 8;
n |= n >> 16;
return n ^ (n >> 1);
}
void cheevos_var_parse(cheevos_var_t* var, const char** memaddr)
{
char *end = NULL;
const char *str = *memaddr;
unsigned base = 16;
var->is_bcd = false;
if (toupper((unsigned char)*str) == 'D' && str[1] == '0' && toupper((unsigned char)str[2]) == 'X')
{
/* d0x + 4 hex digits */
str += 3;
var->type = CHEEVOS_VAR_TYPE_DELTA_MEM;
}
else if (toupper((unsigned char)*str) == 'B' && str[1] == '0' && toupper((unsigned char)str[2]) == 'X')
{
/* b0x (binary-coded decimal) */
str += 3;
var->is_bcd = true;
var->type = CHEEVOS_VAR_TYPE_ADDRESS;
}
else if (*str == '0' && toupper((unsigned char)str[1]) == 'X')
{
/* 0x + 4 hex digits */
str += 2;
var->type = CHEEVOS_VAR_TYPE_ADDRESS;
}
else
{
var->type = CHEEVOS_VAR_TYPE_VALUE_COMP;
if (toupper((unsigned char)*str) == 'H')
str++;
else
{
if (toupper((unsigned char)*str) == 'V')
str++;
base = 10;
}
}
if (var->type != CHEEVOS_VAR_TYPE_VALUE_COMP)
{
var->size = cheevos_var_parse_prefix(&str);
}
var->value = (unsigned)strtol(str, &end, base);
*memaddr = end;
}
void cheevos_var_patch_addr(cheevos_var_t* var, cheevos_console_t console)
{
rarch_system_info_t *system = runloop_get_system_info();
var->bank_id = -1;
if (console == CHEEVOS_CONSOLE_NINTENDO)
{
if (var->value >= 0x0800 && var->value < 0x2000)
{
CHEEVOS_LOG(CHEEVOS_TAG "NES memory address in mirrorred RAM %X, adjusted to %X\n", var->value, var->value & 0x07ff);
var->value &= 0x07ff;
}
}
else if (console == CHEEVOS_CONSOLE_GAMEBOY_COLOR)
{
if (var->value >= 0xe000 && var->value <= 0xfdff)
{
CHEEVOS_LOG(CHEEVOS_TAG "GBC memory address in echo RAM %X, adjusted to %X\n", var->value, var->value - 0x2000);
var->value -= 0x2000;
}
}
if (system->mmaps.num_descriptors != 0)
{
const rarch_memory_descriptor_t *desc = NULL;
const rarch_memory_descriptor_t *end = NULL;
/* Patch the address to correctly map it to the mmaps */
if (console == CHEEVOS_CONSOLE_GAMEBOY_ADVANCE)
{
if (var->value < 0x8000) /* Internal RAM */
{
CHEEVOS_LOG(CHEEVOS_TAG "GBA memory address %X adjusted to %X\n", var->value, var->value + 0x3000000);
var->value += 0x3000000;
}
else /* Work RAM */
{
CHEEVOS_LOG(CHEEVOS_TAG "GBA memory address %X adjusted to %X\n", var->value, var->value + 0x2000000 - 0x8000);
var->value += 0x2000000 - 0x8000;
}
}
else if (console == CHEEVOS_CONSOLE_PC_ENGINE)
{
CHEEVOS_LOG(CHEEVOS_TAG "PCE memory address %X adjusted to %X\n", var->value, var->value + 0x1f0000);
var->value += 0x1f0000;
}
else if (console == CHEEVOS_CONSOLE_SUPER_NINTENDO)
{
if (var->value < 0x020000) /* Work RAM */
{
CHEEVOS_LOG(CHEEVOS_TAG "SNES memory address %X adjusted to %X\n", var->value, var->value + 0x7e0000);
var->value += 0x7e0000;
}
else /* Save RAM */
{
CHEEVOS_LOG(CHEEVOS_TAG "SNES memory address %X adjusted to %X\n", var->value, var->value + 0x006000 - 0x020000);
var->value += 0x006000 - 0x020000;
}
}
desc = system->mmaps.descriptors;
end = desc + system->mmaps.num_descriptors;
for (; desc < end; desc++)
{
if (((desc->core.start ^ var->value) & desc->core.select) == 0)
{
unsigned addr = var->value;
var->bank_id = (int)(desc - system->mmaps.descriptors);
var->value = (unsigned)cheevos_var_reduce(
(addr - desc->core.start) & desc->disconnect_mask,
desc->core.disconnect);
if (var->value >= desc->core.len)
var->value -= cheevos_var_highest_bit(var->value);
var->value += desc->core.offset;
CHEEVOS_LOG(CHEEVOS_TAG "address %X set to descriptor %d at offset %X\n", addr, var->bank_id + 1, var->value);
break;
}
}
}
else
{
unsigned i;
for (i = 0; i < 4; i++)
{
retro_ctx_memory_info_t meminfo;
switch (i)
{
case 0:
meminfo.id = RETRO_MEMORY_SYSTEM_RAM;
break;
case 1:
meminfo.id = RETRO_MEMORY_SAVE_RAM;
break;
case 2:
meminfo.id = RETRO_MEMORY_VIDEO_RAM;
break;
case 3:
meminfo.id = RETRO_MEMORY_RTC;
break;
}
core_get_memory(&meminfo);
if (var->value < meminfo.size)
{
var->bank_id = i;
break;
}
/* HACK subtract the correct amount of bytes to reach the save RAM */
if (i == 0 && console == CHEEVOS_CONSOLE_NINTENDO)
var->value -= 0x6000;
else
var->value -= meminfo.size;
}
}
}
/*****************************************************************************
Testing
*****************************************************************************/
uint8_t* cheevos_var_get_memory(const cheevos_var_t* var)
{
uint8_t* memory = NULL;
if (var->bank_id >= 0)
{
rarch_system_info_t* system = runloop_get_system_info();
if (system->mmaps.num_descriptors != 0)
memory = (uint8_t*)system->mmaps.descriptors[var->bank_id].core.ptr;
else
{
retro_ctx_memory_info_t meminfo = {NULL, 0, 0};
switch (var->bank_id)
{
case 0:
meminfo.id = RETRO_MEMORY_SYSTEM_RAM;
break;
case 1:
meminfo.id = RETRO_MEMORY_SAVE_RAM;
break;
case 2:
meminfo.id = RETRO_MEMORY_VIDEO_RAM;
break;
case 3:
meminfo.id = RETRO_MEMORY_RTC;
break;
default:
CHEEVOS_ERR(CHEEVOS_TAG "invalid bank id: %s\n", var->bank_id);
break;
}
core_get_memory(&meminfo);
memory = (uint8_t*)meminfo.data;
}
if (memory)
memory += var->value;
}
return memory;
}
unsigned cheevos_var_get_value(cheevos_var_t* var)
{
const uint8_t* memory = NULL;
unsigned value = 0;
switch (var->type)
{
case CHEEVOS_VAR_TYPE_VALUE_COMP:
value = var->value;
break;
case CHEEVOS_VAR_TYPE_ADDRESS:
case CHEEVOS_VAR_TYPE_DELTA_MEM:
memory = cheevos_var_get_memory(var);
if (memory)
{
value = memory[0];
switch (var->size)
{
case CHEEVOS_VAR_SIZE_BIT_0:
value &= 1;
break;
case CHEEVOS_VAR_SIZE_BIT_1:
value = (value >> 1) & 1;
break;
case CHEEVOS_VAR_SIZE_BIT_2:
value = (value >> 2) & 1;
break;
case CHEEVOS_VAR_SIZE_BIT_3:
value = (value >> 3) & 1;
break;
case CHEEVOS_VAR_SIZE_BIT_4:
value = (value >> 4) & 1;
break;
case CHEEVOS_VAR_SIZE_BIT_5:
value = (value >> 5) & 1;
break;
case CHEEVOS_VAR_SIZE_BIT_6:
value = (value >> 6) & 1;
break;
case CHEEVOS_VAR_SIZE_BIT_7:
value = (value >> 7) & 1;
break;
case CHEEVOS_VAR_SIZE_NIBBLE_LOWER:
value &= 0x0f;
break;
case CHEEVOS_VAR_SIZE_NIBBLE_UPPER:
value = (value >> 4) & 0x0f;
break;
case CHEEVOS_VAR_SIZE_EIGHT_BITS:
break;
case CHEEVOS_VAR_SIZE_SIXTEEN_BITS:
value |= memory[1] << 8;
break;
case CHEEVOS_VAR_SIZE_THIRTYTWO_BITS:
value |= memory[1] << 8;
value |= memory[2] << 16;
value |= memory[3] << 24;
break;
}
}
if (var->type == CHEEVOS_VAR_TYPE_DELTA_MEM)
{
unsigned previous = var->previous;
var->previous = value;
value = previous;
}
break;
case CHEEVOS_VAR_TYPE_DYNAMIC_VAR:
/* We shouldn't get here... */
break;
}
if(var->is_bcd)
return (((value >> 4) & 0xf) * 10) + (value & 0xf);
else
return value;
}
/* RetroArch - A frontend for libretro.
* Copyright (C) 2015-2017 - Andre Leiradella
*
* 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 <ctype.h>
#include <stdint.h>
#include <libretro.h>
#include "var.h"
#include "../retroarch.h"
#include "../core.h"
#include "../verbosity.h"
/*****************************************************************************
Parsing
*****************************************************************************/
static cheevos_var_size_t cheevos_var_parse_prefix(const char** memaddr)
{
/* Careful not to use ABCDEF here, this denotes part of an actual variable! */
const char* str = *memaddr;
cheevos_var_size_t size;
switch (toupper((unsigned char)*str++))
{
case 'M':
size = CHEEVOS_VAR_SIZE_BIT_0;
break;
case 'N':
size = CHEEVOS_VAR_SIZE_BIT_1;
break;
case 'O':
size = CHEEVOS_VAR_SIZE_BIT_2;
break;
case 'P':
size = CHEEVOS_VAR_SIZE_BIT_3;
break;
case 'Q':
size = CHEEVOS_VAR_SIZE_BIT_4;
break;
case 'R':
size = CHEEVOS_VAR_SIZE_BIT_5;
break;
case 'S':
size = CHEEVOS_VAR_SIZE_BIT_6;
break;
case 'T':
size = CHEEVOS_VAR_SIZE_BIT_7;
break;
case 'L':
size = CHEEVOS_VAR_SIZE_NIBBLE_LOWER;
break;
case 'U':
size = CHEEVOS_VAR_SIZE_NIBBLE_UPPER;
break;
case 'H':
size = CHEEVOS_VAR_SIZE_EIGHT_BITS;
break;
case 'X':
size = CHEEVOS_VAR_SIZE_THIRTYTWO_BITS;
break;
default:
str--;
/* fall through */
case ' ':
size = CHEEVOS_VAR_SIZE_SIXTEEN_BITS;
break;
}
*memaddr = str;
return size;
}
static size_t cheevos_var_reduce(size_t addr, size_t mask)
{
while (mask)
{
size_t tmp = (mask - 1) & ~mask;
addr = (addr & tmp) | ((addr >> 1) & ~tmp);
mask = (mask & (mask - 1)) >> 1;
}
return addr;
}
static size_t cheevos_var_highest_bit(size_t n)
{
n |= n >> 1;
n |= n >> 2;
n |= n >> 4;
n |= n >> 8;
n |= n >> 16;
return n ^ (n >> 1);
}
void cheevos_var_parse(cheevos_var_t* var, const char** memaddr)
{
char *end = NULL;
const char *str = *memaddr;
unsigned base = 16;
var->is_bcd = false;
if (toupper((unsigned char)*str) == 'D' && str[1] == '0' && toupper((unsigned char)str[2]) == 'X')
{
/* d0x + 4 hex digits */
str += 3;
var->type = CHEEVOS_VAR_TYPE_DELTA_MEM;
}
else if (toupper((unsigned char)*str) == 'B' && str[1] == '0' && toupper((unsigned char)str[2]) == 'X')
{
/* b0x (binary-coded decimal) */
str += 3;
var->is_bcd = true;
var->type = CHEEVOS_VAR_TYPE_ADDRESS;
}
else if (*str == '0' && toupper((unsigned char)str[1]) == 'X')
{
/* 0x + 4 hex digits */
str += 2;
var->type = CHEEVOS_VAR_TYPE_ADDRESS;
}
else
{
var->type = CHEEVOS_VAR_TYPE_VALUE_COMP;
if (toupper((unsigned char)*str) == 'H')
str++;
else
{
if (toupper((unsigned char)*str) == 'V')
str++;
base = 10;
}
}
if (var->type != CHEEVOS_VAR_TYPE_VALUE_COMP)
{
var->size = cheevos_var_parse_prefix(&str);
}
var->value = (unsigned)strtol(str, &end, base);
*memaddr = end;
}
void cheevos_var_patch_addr(cheevos_var_t* var, cheevos_console_t console)
{
rarch_system_info_t *system = runloop_get_system_info();
var->bank_id = -1;
if (console == CHEEVOS_CONSOLE_NINTENDO)
{
if (var->value >= 0x0800 && var->value < 0x2000)
{
CHEEVOS_LOG(CHEEVOS_TAG "NES memory address in mirrorred RAM %X, adjusted to %X\n", var->value, var->value & 0x07ff);
var->value &= 0x07ff;
}
}
else if (console == CHEEVOS_CONSOLE_GAMEBOY_COLOR)
{
if (var->value >= 0xe000 && var->value <= 0xfdff)
{
CHEEVOS_LOG(CHEEVOS_TAG "GBC memory address in echo RAM %X, adjusted to %X\n", var->value, var->value - 0x2000);
var->value -= 0x2000;
}
}
if (system->mmaps.num_descriptors != 0)
{
const rarch_memory_descriptor_t *desc = NULL;
const rarch_memory_descriptor_t *end = NULL;
/* Patch the address to correctly map it to the mmaps */
if (console == CHEEVOS_CONSOLE_GAMEBOY_ADVANCE)
{
if (var->value < 0x8000) /* Internal RAM */
{
CHEEVOS_LOG(CHEEVOS_TAG "GBA memory address %X adjusted to %X\n", var->value, var->value + 0x3000000);
var->value += 0x3000000;
}
else /* Work RAM */
{
CHEEVOS_LOG(CHEEVOS_TAG "GBA memory address %X adjusted to %X\n", var->value, var->value + 0x2000000 - 0x8000);
var->value += 0x2000000 - 0x8000;
}
}
else if (console == CHEEVOS_CONSOLE_PC_ENGINE)
{
CHEEVOS_LOG(CHEEVOS_TAG "PCE memory address %X adjusted to %X\n", var->value, var->value + 0x1f0000);
var->value += 0x1f0000;
}
else if (console == CHEEVOS_CONSOLE_SUPER_NINTENDO)
{
if (var->value < 0x020000) /* Work RAM */
{
CHEEVOS_LOG(CHEEVOS_TAG "SNES memory address %X adjusted to %X\n", var->value, var->value + 0x7e0000);
var->value += 0x7e0000;
}
else /* Save RAM */
{
CHEEVOS_LOG(CHEEVOS_TAG "SNES memory address %X adjusted to %X\n", var->value, var->value + 0x006000 - 0x020000);
var->value += 0x006000 - 0x020000;
}
}
desc = system->mmaps.descriptors;
end = desc + system->mmaps.num_descriptors;
for (; desc < end; desc++)
{
if (((desc->core.start ^ var->value) & desc->core.select) == 0)
{
unsigned addr = var->value;
var->bank_id = (int)(desc - system->mmaps.descriptors);
var->value = (unsigned)cheevos_var_reduce(
(addr - desc->core.start) & desc->disconnect_mask,
desc->core.disconnect);
if (var->value >= desc->core.len)
var->value -= cheevos_var_highest_bit(var->value);
var->value += desc->core.offset;
CHEEVOS_LOG(CHEEVOS_TAG "address %X set to descriptor %d at offset %X\n", addr, var->bank_id + 1, var->value);
break;
}
}
}
else
{
unsigned i;
for (i = 0; i < 4; i++)
{
retro_ctx_memory_info_t meminfo;
switch (i)
{
case 0:
meminfo.id = RETRO_MEMORY_SYSTEM_RAM;
break;
case 1:
meminfo.id = RETRO_MEMORY_SAVE_RAM;
break;
case 2:
meminfo.id = RETRO_MEMORY_VIDEO_RAM;
break;
case 3:
meminfo.id = RETRO_MEMORY_RTC;
break;
}
core_get_memory(&meminfo);
if (var->value < meminfo.size)
{
var->bank_id = i;
break;
}
/* HACK subtract the correct amount of bytes to reach the save RAM */
if (i == 0 && console == CHEEVOS_CONSOLE_NINTENDO)
var->value -= 0x6000;
else
var->value -= meminfo.size;
}
}
}
/*****************************************************************************
Testing
*****************************************************************************/
uint8_t* cheevos_var_get_memory(const cheevos_var_t* var)
{
uint8_t* memory = NULL;
if (var->bank_id >= 0)
{
rarch_system_info_t* system = runloop_get_system_info();
if (system->mmaps.num_descriptors != 0)
memory = (uint8_t*)system->mmaps.descriptors[var->bank_id].core.ptr;
else
{
retro_ctx_memory_info_t meminfo = {NULL, 0, 0};
switch (var->bank_id)
{
case 0:
meminfo.id = RETRO_MEMORY_SYSTEM_RAM;
break;
case 1:
meminfo.id = RETRO_MEMORY_SAVE_RAM;
break;
case 2:
meminfo.id = RETRO_MEMORY_VIDEO_RAM;
break;
case 3:
meminfo.id = RETRO_MEMORY_RTC;
break;
default:
CHEEVOS_ERR(CHEEVOS_TAG "invalid bank id: %s\n", var->bank_id);
break;
}
core_get_memory(&meminfo);
memory = (uint8_t*)meminfo.data;
}
if (memory)
memory += var->value;
}
return memory;
}
unsigned cheevos_var_get_value(cheevos_var_t* var)
{
const uint8_t* memory = NULL;
unsigned value = 0;
switch (var->type)
{
case CHEEVOS_VAR_TYPE_VALUE_COMP:
value = var->value;
break;
case CHEEVOS_VAR_TYPE_ADDRESS:
case CHEEVOS_VAR_TYPE_DELTA_MEM:
memory = cheevos_var_get_memory(var);
if (memory)
{
value = memory[0];
switch (var->size)
{
case CHEEVOS_VAR_SIZE_BIT_0:
value &= 1;
break;
case CHEEVOS_VAR_SIZE_BIT_1:
value = (value >> 1) & 1;
break;
case CHEEVOS_VAR_SIZE_BIT_2:
value = (value >> 2) & 1;
break;
case CHEEVOS_VAR_SIZE_BIT_3:
value = (value >> 3) & 1;
break;
case CHEEVOS_VAR_SIZE_BIT_4:
value = (value >> 4) & 1;
break;
case CHEEVOS_VAR_SIZE_BIT_5:
value = (value >> 5) & 1;
break;
case CHEEVOS_VAR_SIZE_BIT_6:
value = (value >> 6) & 1;
break;
case CHEEVOS_VAR_SIZE_BIT_7:
value = (value >> 7) & 1;
break;
case CHEEVOS_VAR_SIZE_NIBBLE_LOWER:
value &= 0x0f;
break;
case CHEEVOS_VAR_SIZE_NIBBLE_UPPER:
value = (value >> 4) & 0x0f;
break;
case CHEEVOS_VAR_SIZE_EIGHT_BITS:
break;
case CHEEVOS_VAR_SIZE_SIXTEEN_BITS:
value |= memory[1] << 8;
break;
case CHEEVOS_VAR_SIZE_THIRTYTWO_BITS:
value |= memory[1] << 8;
value |= memory[2] << 16;
value |= memory[3] << 24;
break;
}
}
if (var->type == CHEEVOS_VAR_TYPE_DELTA_MEM)
{
unsigned previous = var->previous;
var->previous = value;
value = previous;
}
break;
case CHEEVOS_VAR_TYPE_DYNAMIC_VAR:
/* We shouldn't get here... */
break;
}
if(var->is_bcd)
return (((value >> 4) & 0xf) * 10) + (value & 0xf);
return value;
}
+78 -78
View File
@@ -1,78 +1,78 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2015-2017 - Andre Leiradella
*
* 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/>.
*/
#ifndef __RARCH_CHEEVOS_VAR_H
#define __RARCH_CHEEVOS_VAR_H
#include <stdint.h>
#include "cheevos.h"
#include <retro_common_api.h>
RETRO_BEGIN_DECLS
typedef enum
{
CHEEVOS_VAR_SIZE_BIT_0 = 0,
CHEEVOS_VAR_SIZE_BIT_1,
CHEEVOS_VAR_SIZE_BIT_2,
CHEEVOS_VAR_SIZE_BIT_3,
CHEEVOS_VAR_SIZE_BIT_4,
CHEEVOS_VAR_SIZE_BIT_5,
CHEEVOS_VAR_SIZE_BIT_6,
CHEEVOS_VAR_SIZE_BIT_7,
CHEEVOS_VAR_SIZE_NIBBLE_LOWER,
CHEEVOS_VAR_SIZE_NIBBLE_UPPER,
/* Byte, */
CHEEVOS_VAR_SIZE_EIGHT_BITS, /* =Byte, */
CHEEVOS_VAR_SIZE_SIXTEEN_BITS,
CHEEVOS_VAR_SIZE_THIRTYTWO_BITS
} cheevos_var_size_t;
typedef enum
{
/* compare to the value of a live address in RAM */
CHEEVOS_VAR_TYPE_ADDRESS = 0,
/* a number. assume 32 bit */
CHEEVOS_VAR_TYPE_VALUE_COMP,
/* the value last known at this address. */
CHEEVOS_VAR_TYPE_DELTA_MEM,
/* a custom user-set variable */
CHEEVOS_VAR_TYPE_DYNAMIC_VAR
} cheevos_var_type_t;
typedef struct
{
cheevos_var_size_t size;
cheevos_var_type_t type;
int bank_id;
bool is_bcd;
unsigned value;
unsigned previous;
} cheevos_var_t;
void cheevos_var_parse(cheevos_var_t* var, const char** memaddr);
void cheevos_var_patch_addr(cheevos_var_t* var, cheevos_console_t console);
uint8_t* cheevos_var_get_memory(const cheevos_var_t* var);
unsigned cheevos_var_get_value(cheevos_var_t* var);
RETRO_END_DECLS
#endif /* __RARCH_CHEEVOS_VAR_H */
/* RetroArch - A frontend for libretro.
* Copyright (C) 2015-2018 - Andre Leiradella
*
* 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/>.
*/
#ifndef __RARCH_CHEEVOS_VAR_H
#define __RARCH_CHEEVOS_VAR_H
#include <stdint.h>
#include "cheevos.h"
#include <retro_common_api.h>
RETRO_BEGIN_DECLS
typedef enum
{
CHEEVOS_VAR_SIZE_BIT_0 = 0,
CHEEVOS_VAR_SIZE_BIT_1,
CHEEVOS_VAR_SIZE_BIT_2,
CHEEVOS_VAR_SIZE_BIT_3,
CHEEVOS_VAR_SIZE_BIT_4,
CHEEVOS_VAR_SIZE_BIT_5,
CHEEVOS_VAR_SIZE_BIT_6,
CHEEVOS_VAR_SIZE_BIT_7,
CHEEVOS_VAR_SIZE_NIBBLE_LOWER,
CHEEVOS_VAR_SIZE_NIBBLE_UPPER,
/* Byte, */
CHEEVOS_VAR_SIZE_EIGHT_BITS, /* =Byte, */
CHEEVOS_VAR_SIZE_SIXTEEN_BITS,
CHEEVOS_VAR_SIZE_THIRTYTWO_BITS
} cheevos_var_size_t;
typedef enum
{
/* compare to the value of a live address in RAM */
CHEEVOS_VAR_TYPE_ADDRESS = 0,
/* a number. assume 32 bit */
CHEEVOS_VAR_TYPE_VALUE_COMP,
/* the value last known at this address. */
CHEEVOS_VAR_TYPE_DELTA_MEM,
/* a custom user-set variable */
CHEEVOS_VAR_TYPE_DYNAMIC_VAR
} cheevos_var_type_t;
typedef struct
{
cheevos_var_size_t size;
cheevos_var_type_t type;
int bank_id;
bool is_bcd;
unsigned value;
unsigned previous;
} cheevos_var_t;
void cheevos_var_parse(cheevos_var_t* var, const char** memaddr);
void cheevos_var_patch_addr(cheevos_var_t* var, cheevos_console_t console);
uint8_t* cheevos_var_get_memory(const cheevos_var_t* var);
unsigned cheevos_var_get_value(cheevos_var_t* var);
RETRO_END_DECLS
#endif /* __RARCH_CHEEVOS_VAR_H */
+321 -195
View File
File diff suppressed because it is too large. Load diff
+9 -19
View File
@@ -83,6 +83,8 @@ enum event_command
CMD_EVENT_AUDIO_START,
/* Mutes audio. */
CMD_EVENT_AUDIO_MUTE_TOGGLE,
/* Toggles FPS counter. */
CMD_EVENT_FPS_TOGGLE,
/* Initializes overlay. */
CMD_EVENT_OVERLAY_INIT,
/* Deinitializes overlay. */
@@ -147,16 +149,19 @@ enum event_command
/* Unpauses retroArch. */
CMD_EVENT_PAUSE,
CMD_EVENT_PAUSE_CHECKS,
CMD_EVENT_MENU_RESET_TO_DEFAULT_CONFIG,
CMD_EVENT_MENU_SAVE_CURRENT_CONFIG,
CMD_EVENT_MENU_SAVE_CURRENT_CONFIG_OVERRIDE_CORE,
CMD_EVENT_MENU_SAVE_CURRENT_CONFIG_OVERRIDE_CONTENT_DIR,
CMD_EVENT_MENU_SAVE_CURRENT_CONFIG_OVERRIDE_GAME,
CMD_EVENT_MENU_SAVE_CONFIG,
CMD_EVENT_MENU_PAUSE_LIBRETRO,
/* Toggles menu on/off. */
CMD_EVENT_MENU_TOGGLE,
CMD_EVENT_MENU_REFRESH,
/* Applies shader changes. */
CMD_EVENT_SHADERS_APPLY_CHANGES,
/* A new shader preset has been loaded */
CMD_EVENT_SHADER_PRESET_LOADED,
/* Initializes shader directory. */
CMD_EVENT_SHADER_DIR_INIT,
/* Deinitializes shader directory. */
@@ -230,7 +235,9 @@ enum event_command
CMD_EVENT_DISABLE_OVERRIDES,
CMD_EVENT_RESTORE_REMAPS,
CMD_EVENT_RESTORE_DEFAULT_SHADER_PRESET,
CMD_EVENT_LIBUI_TEST
CMD_EVENT_DISCORD_INIT,
CMD_EVENT_DISCORD_DEINIT,
CMD_EVENT_DISCORD_UPDATE
};
bool command_set_shader(const char *arg);
@@ -263,23 +270,6 @@ bool command_free(command_t *handle);
**/
bool command_event(enum event_command action, void *data);
void command_playlist_push_write(
void *data,
const char *path,
const char *label,
const char *core_path,
const char *core_name);
void command_playlist_update_write(
void *data,
size_t idx,
const char *path,
const char *label,
const char *core_path,
const char *core_display_name,
const char *crc32,
const char *db_name);
RETRO_END_DECLS
#endif
+163 -35
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) 2016-2019 - 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-
@@ -20,6 +20,7 @@
#include <boolean.h>
#include <audio/audio_resampler.h>
#include "configuration.h"
#include "gfx/video_defines.h"
#include "input/input_driver.h"
@@ -47,7 +48,7 @@
#define DEFAULT_ASPECT_RATIO -1.0f
#endif
#ifdef RARCH_MOBILE
#if defined(RARCH_MOBILE) || defined(HAVE_LIBNX)
static const bool pointer_enable = true;
#else
static const bool pointer_enable = false;
@@ -67,15 +68,15 @@ static bool bundle_assets_extract_enable = false;
static bool materialui_icons_enable = true;
#endif
static const bool crt_switch_resolution = false;
static const unsigned crt_switch_resolution = CRT_SWITCH_NONE;
static const int crt_switch_resolution_super = 2560;
static const int crt_switch_center_adjust = 0;
static const bool def_history_list_enable = true;
static const bool def_playlist_entry_remove = true;
static const bool def_playlist_entry_rename = true;
static const bool def_history_list_enable = true;
static const bool def_playlist_entry_remove = true;
static const bool def_playlist_entry_rename = true;
static const unsigned int def_user_language = 0;
static const unsigned int def_user_language = 0;
#if (defined(_WIN32) && !defined(_XBOX)) || (defined(__linux) && !defined(ANDROID) && !defined(HAVE_LAKKA)) || (defined(__MACH__) && !defined(IOS)) || defined(EMSCRIPTEN)
static const bool def_mouse_enable = true;
@@ -116,14 +117,18 @@ static const unsigned monitor_index = 0;
/* Window */
/* Window size. A value of 0 uses window scale
* multiplied by the core framebuffer size. */
static const unsigned window_x = 0;
static const unsigned window_y = 0;
static const unsigned window_width = 1280;
static const unsigned window_height = 720;
/* Fullscreen resolution. A value of 0 uses the desktop
* resolution. */
static const unsigned fullscreen_x = 0;
static const unsigned fullscreen_y = 0;
/* Number of threads to use for video recording */
static const unsigned video_record_threads = 2;
/* Amount of transparency to use for the main window.
* 1 is the most transparent while 100 is opaque.
*/
@@ -147,6 +152,8 @@ static const bool vsync = true;
static const unsigned max_swapchain_images = 3;
static const bool adaptive_vsync = false;
/* Attempts to hard-synchronize CPU and GPU.
* Can reduce latency at cost of performance. */
static const bool hard_sync = false;
@@ -178,10 +185,14 @@ static unsigned swap_interval = 1;
/* Threaded video. Will possibly increase performance significantly
* at the cost of worse synchronization and latency.
*/
#if defined(HAVE_LIBNX)
static const bool video_threaded = true;
#else
static const bool video_threaded = false;
#endif
#if defined(HAVE_THREADS)
#if defined(GEKKO) || defined(PSP) || defined(_3DS)
#if defined(GEKKO) || defined(PSP) || defined(PS2)
/* For single-core consoles right now it's better to have this be disabled. */
static const bool threaded_data_runloop_enable = false;
#else
@@ -233,6 +244,11 @@ static const bool aspect_ratio_auto = false;
static unsigned aspect_ratio_idx = ASPECT_RATIO_16_9;
#elif defined(PSP)
static unsigned aspect_ratio_idx = ASPECT_RATIO_CORE;
#elif defined(_3DS)
/* Previously defaulted to ASPECT_RATIO_4_3.
* Non-4:3 content looks dreadful when stretched
* to 4:3 on the 3DS screen... */
static unsigned aspect_ratio_idx = ASPECT_RATIO_CORE;
#elif defined(RARCH_CONSOLE)
static unsigned aspect_ratio_idx = ASPECT_RATIO_4_3;
#else
@@ -248,25 +264,45 @@ static const bool overlay_hide_in_menu = true;
static const bool display_keyboard_overlay = false;
#ifdef HAKCHI
static const float default_input_overlay_opacity = 0.5f;
#else
static const float default_input_overlay_opacity = 0.7f;
#endif
#ifdef HAVE_MENU
#include "menu/menu_driver.h"
static bool default_block_config_read = true;
static bool quick_menu_show_take_screenshot = true;
static bool quick_menu_show_save_load_state = true;
static bool quick_menu_show_undo_save_load_state = true;
static bool quick_menu_show_add_to_favorites = true;
static bool quick_menu_show_options = true;
static bool quick_menu_show_controls = true;
static bool quick_menu_show_cheats = true;
static bool quick_menu_show_shaders = true;
static bool quick_menu_show_save_core_overrides = true;
static bool quick_menu_show_save_game_overrides = true;
static bool quick_menu_show_information = true;
#ifdef HAVE_LIBNX
static bool menu_use_preferred_system_color_theme = true;
#else
static bool menu_use_preferred_system_color_theme = false;
#endif
static bool quick_menu_show_take_screenshot = true;
static bool quick_menu_show_save_load_state = true;
static bool quick_menu_show_undo_save_load_state = true;
static bool quick_menu_show_add_to_favorites = true;
static bool quick_menu_show_start_recording = true;
static bool quick_menu_show_start_streaming = true;
static bool quick_menu_show_reset_core_association = true;
static bool quick_menu_show_options = true;
static bool quick_menu_show_controls = true;
static bool quick_menu_show_cheats = true;
static bool quick_menu_show_shaders = true;
static bool quick_menu_show_information = true;
static bool quick_menu_show_recording = true;
static bool quick_menu_show_streaming = true;
static bool quick_menu_show_save_core_overrides = true;
static bool quick_menu_show_save_game_overrides = true;
static bool quick_menu_show_save_content_dir_overrides = true;
static bool kiosk_mode_enable = false;
static bool menu_horizontal_animation = true;
static bool menu_show_online_updater = true;
static bool menu_show_load_core = true;
static bool menu_show_load_content = true;
@@ -275,6 +311,11 @@ static bool menu_show_configurations = true;
static bool menu_show_help = true;
static bool menu_show_quit_retroarch = true;
static bool menu_show_reboot = true;
#ifdef HAVE_LAKKA_SWITCH
static bool menu_show_shutdown = false;
#else
static bool menu_show_shutdown = true;
#endif
#if defined(HAVE_LAKKA) || defined(VITA) || defined(_3DS)
static bool menu_show_core_updater = false;
#else
@@ -287,7 +328,7 @@ static bool content_show_favorites = true;
static bool content_show_images = true;
#endif
static bool content_show_music = true;
#ifdef HAVE_FFMPEG
#if defined(HAVE_FFMPEG) || defined(HAVE_MPV)
static bool content_show_video = true;
#endif
#ifdef HAVE_NETWORKING
@@ -332,9 +373,7 @@ static unsigned menu_shader_pipeline = 2;
#endif
static bool show_advanced_settings = false;
static const uint32_t menu_entry_normal_color = 0xffffffff;
static const uint32_t menu_entry_hover_color = 0xff64ff64;
static const uint32_t menu_title_color = 0xff64ff64;
static unsigned rgui_color_theme = RGUI_THEME_CLASSIC_GREEN;
#else
static bool default_block_config_read = false;
@@ -356,10 +395,14 @@ static bool default_screenshots_in_content_dir = false;
#if defined(__CELLOS_LV2__) || defined(_XBOX1) || defined(_XBOX360)
static unsigned menu_toggle_gamepad_combo = INPUT_TOGGLE_L3_R3;
#elif defined(PS2) || defined(PSP)
static unsigned menu_toggle_gamepad_combo = INPUT_TOGGLE_HOLD_START;
#elif defined(VITA)
static unsigned menu_toggle_gamepad_combo = INPUT_TOGGLE_L1_R1_START_SELECT;
#elif defined(SWITCH)
#elif defined(SWITCH) || defined(ORBIS)
static unsigned menu_toggle_gamepad_combo = INPUT_TOGGLE_START_SELECT;
#elif TARGET_OS_TV
static unsigned menu_toggle_gamepad_combo = INPUT_TOGGLE_DOWN_Y_L_R;
#else
static unsigned menu_toggle_gamepad_combo = INPUT_TOGGLE_NONE;
#endif
@@ -438,9 +481,11 @@ static const bool font_enable = true;
* If your monitor does not run at 60Hz, or something close to it,
* disable VSync, and leave this at its default. */
#ifdef _3DS
static const float refresh_rate = (32730.0 * 8192.0) / 4481134.0 ;
static const float refresh_rate = (32730.0 * 8192.0) / 4481134.0 ;
static const float crt_refresh_rate = (32730.0 * 8192.0) / 4481134.0 ;
#else
static const float refresh_rate = 60/1.001;
static const float refresh_rate = 60/1.001;
static const float crt_refresh_rate = 60/1.001;
#endif
/* Allow games to set rotation. If false, rotation requests are
@@ -448,11 +493,23 @@ static const float refresh_rate = 60/1.001;
* Used for setups where one manually rotates the monitor. */
static const bool allow_rotate = true;
#ifdef _3DS
/* Enable bottom LCD screen */
static const bool video_3ds_lcd_bottom = true;
#endif
/* AUDIO */
/* Will enable audio or not. */
static const bool audio_enable = true;
/* Enable menu audio sounds. */
static const bool audio_enable_menu = false;
static const bool audio_enable_menu_ok = false;
static const bool audio_enable_menu_cancel = false;
static const bool audio_enable_menu_notice = false;
static const bool audio_enable_menu_bgm = false;
/* Output samplerate. */
#ifdef GEKKO
static const unsigned out_rate = 32000;
@@ -510,17 +567,29 @@ static const int wasapi_sh_buffer_length = -16; /* auto */
/* Enables displaying the current frames per second. */
static const bool fps_show = false;
/* Show frame count on FPS display */
static const bool framecount_show = true;
/* Enables displaying the current frame count. */
static const bool framecount_show = false;
/* Includes displaying the current memory usage/total with FPS/Frames. */
static const bool memory_show = false;
/* Enables use of rewind. This will incur some memory footprint
* depending on the save state buffer. */
static const bool rewind_enable = false;
/* When set, any time a cheat is toggled it is immediately applied. */
static const bool apply_cheats_after_toggle = false;
/* When set, all enabled cheats are auto-applied when a game is loaded. */
static const bool apply_cheats_after_load = false;
/* The buffer size for the rewind buffer. This needs to be about
* 15-20MB per minute. Very game dependant. */
static const unsigned rewind_buffer_size = 20 << 20; /* 20MiB */
/* The amount of MB to increase/decrease the rewind_buffer_size when it is changed via the UI. */
static const unsigned rewind_buffer_size_step = 10; /* 10MB */
/* How many frames to rewind at a time. */
static const unsigned rewind_granularity = 1;
@@ -533,7 +602,13 @@ static const bool pause_nonactive = true;
/* Saves non-volatile SRAM at a regular interval.
* It is measured in seconds. A value of 0 disables autosave. */
#if defined(__i386__) || defined(__i486__) || defined(__i686__) || defined(__x86_64__) || defined(_M_X64) || defined(_WIN32) || defined(OSX) || defined(ANDROID) || defined(IOS)
/* Flush to file every 10 seconds on modern platforms by default */
static const unsigned autosave_interval = 10;
#else
/* Default to disabled on I/O-constrained platforms */
static const unsigned autosave_interval = 0;
#endif
/* Publicly announce netplay */
static const bool netplay_public_announce = true;
@@ -595,12 +670,18 @@ static const float slowmotion_ratio = 3.0;
/* Maximum fast forward ratio. */
static const float fastforward_ratio = 0.0;
/* Enable runloop for variable refresh rate screens. Force x1 speed while handling fast forward too. */
static const bool vrr_runloop_enable = false;
/* Run core logic one or more frames ahead then load the state back to reduce perceived input lag. */
static const unsigned run_ahead_frames = 1;
/* When using the Run Ahead feature, use a secondary instance of the core. */
static const bool run_ahead_secondary_instance = true;
/* Hide warning messages when using the Run Ahead feature. */
static const bool run_ahead_hide_warnings = false;
/* Enable stdin/network command interface. */
static const bool network_cmd_enable = false;
static const uint16_t network_cmd_port = 55355;
@@ -610,6 +691,9 @@ static const uint16_t network_remote_base_port = 55400;
/* Number of entries that will be kept in content history playlist file. */
static const unsigned default_content_history_size = 100;
/* File format to use when writing playlists to disk */
static const bool playlist_use_old_format = false;
/* Show Menu start-up screen on boot. */
static const bool default_menu_show_start_screen = true;
@@ -630,6 +714,10 @@ static const unsigned libretro_log_level = 1;
#define RARCH_DEFAULT_PORT 55435
#endif
#ifndef RARCH_STREAM_DEFAULT_PORT
#define RARCH_STREAM_DEFAULT_PORT 56400
#endif
/* KEYBINDS, JOYPAD */
/* Axis threshold (between 0.0 and 1.0)
@@ -656,12 +744,18 @@ static const unsigned input_poll_type_behavior = 2;
static const unsigned input_bind_timeout = 5;
static const unsigned input_bind_hold = 2;
static const unsigned menu_thumbnails_default = 3;
static const unsigned menu_left_thumbnails_default = 0;
static const unsigned menu_timedate_style = 5;
static const bool xmb_vertical_thumbnails = false;
static unsigned rgui_thumbnail_downscaler = RGUI_THUMB_SCALE_POINT;
#ifdef IOS
static const bool ui_companion_start_on_boot = false;
#else
@@ -678,19 +772,33 @@ static const bool desktop_menu_enable = true;
#if defined(__QNX__) || defined(_XBOX1) || defined(_XBOX360) || defined(__CELLOS_LV2__) || (defined(__MACH__) && defined(IOS)) || defined(ANDROID) || defined(WIIU) || defined(HAVE_NEON) || defined(GEKKO) || defined(__ARM_NEON__)
static enum resampler_quality audio_resampler_quality_level = RESAMPLER_QUALITY_LOWER;
#elif defined(PSP) || defined(_3DS) || defined(VITA)
#elif defined(PSP) || defined(_3DS) || defined(VITA) || defined(PS2)
static enum resampler_quality audio_resampler_quality_level = RESAMPLER_QUALITY_LOWEST;
#else
static enum resampler_quality audio_resampler_quality_level = RESAMPLER_QUALITY_NORMAL;
#endif
#if defined(ANDROID)
#if defined(ANDROID_ARM)
/* MIDI */
static const char *midi_input = "Off";
static const char *midi_output = "Off";
static const unsigned midi_volume = 100;
/* Only applies to Android 7.0 (API 24) and up */
static const bool sustained_performance_mode = false;
#if defined(HAKCHI)
static char buildbot_server_url[] = "http://hakchicloud.com/Libretro_Cores/";
#elif defined(ANDROID)
#if defined(ANDROID_ARM_V7)
static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/android/latest/armeabi-v7a/";
#elif defined(ANDROID_ARM)
static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/android/latest/armeabi/";
#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/";
#elif defined(ANDROID_X64)
static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/android/latest/x86_64/";
#else
static char buildbot_server_url[] = "";
#endif
@@ -707,7 +815,23 @@ 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 _MSC_VER >= 1910
#ifndef __WINRT__
#if defined(__x86_64__) || defined(_M_X64)
static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/windows-msvc2017-desktop/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-msvc2017-desktop/x86/latest/";
#endif
#else
#if defined(__x86_64__) || defined(_M_X64)
static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/windows-msvc2017-uwp/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-msvc2017-uwp/x86/latest/";
#elif defined(__arm__) || defined(_M_ARM)
static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/windows-msvc2017-uwp/arm/latest/";
#endif
#endif
#elif _MSC_VER == 1600
#if defined(__x86_64__) || defined(_M_X64)
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)
@@ -736,6 +860,8 @@ static char buildbot_server_url[] = "";
#endif
#elif defined(WIIU)
static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/nintendo/wiiu/latest/";
#elif defined(HAVE_LIBNX)
static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/nintendo/switch/libnx/latest/";
#elif defined(__CELLOS_LV2__) && defined(DEX_BUILD)
static char buildbot_server_url[] = "http://libretro.xbins.org/libretro/nightly/playstation/ps3/latest/dex-ps3/";
#elif defined(__CELLOS_LV2__) && defined(CEX_BUILD)
@@ -748,4 +874,6 @@ static char buildbot_server_url[] = "";
static char buildbot_assets_server_url[] = "http://buildbot.libretro.com/assets/";
static char default_discord_app_id[] = "475456035851599874";
#endif
+8 -2
View File
@@ -75,7 +75,7 @@ static const struct retro_keybind retro_keybinds_1[] = {
{ true, RARCH_STATE_SLOT_PLUS, MENU_ENUM_LABEL_VALUE_INPUT_META_STATE_SLOT_PLUS, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE },
{ true, RARCH_STATE_SLOT_MINUS, MENU_ENUM_LABEL_VALUE_INPUT_META_STATE_SLOT_MINUS, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE },
{ true, RARCH_REWIND, MENU_ENUM_LABEL_VALUE_INPUT_META_REWIND, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE },
{ true, RARCH_MOVIE_RECORD_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_META_MOVIE_RECORD_TOGGLE, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE },
{ true, RARCH_BSV_RECORD_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_META_BSV_RECORD_TOGGLE, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE },
{ true, RARCH_PAUSE_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_META_PAUSE_TOGGLE, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE },
{ true, RARCH_FRAMEADVANCE, MENU_ENUM_LABEL_VALUE_INPUT_META_FRAMEADVANCE, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE },
{ true, RARCH_RESET, MENU_ENUM_LABEL_VALUE_INPUT_META_RESET, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE },
@@ -87,6 +87,7 @@ static const struct retro_keybind retro_keybinds_1[] = {
{ true, RARCH_SCREENSHOT, MENU_ENUM_LABEL_VALUE_INPUT_META_SCREENSHOT, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE },
{ true, RARCH_MUTE, MENU_ENUM_LABEL_VALUE_INPUT_META_MUTE, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE },
{ true, RARCH_OSK, MENU_ENUM_LABEL_VALUE_INPUT_META_OSK, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE },
{ true, RARCH_FPS_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_META_FPS_TOGGLE, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE },
{ true, RARCH_NETPLAY_GAME_WATCH, MENU_ENUM_LABEL_VALUE_INPUT_META_NETPLAY_GAME_WATCH, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE },
{ true, RARCH_ENABLE_HOTKEY, MENU_ENUM_LABEL_VALUE_INPUT_META_ENABLE_HOTKEY, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE },
{ true, RARCH_VOLUME_UP, MENU_ENUM_LABEL_VALUE_INPUT_META_VOLUME_UP, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE },
@@ -99,6 +100,8 @@ static const struct retro_keybind retro_keybinds_1[] = {
{ true, RARCH_GAME_FOCUS_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_META_GAME_FOCUS_TOGGLE, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE },
{ true, RARCH_UI_COMPANION_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_META_UI_COMPANION_TOGGLE, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE },
{ true, RARCH_MENU_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_META_MENU_TOGGLE, RETROK_SPACE, NO_BTN, NO_BTN, 0, AXIS_NONE },
{ true, RARCH_RECORDING_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_META_RECORDING_TOGGLE, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE },
{ true, RARCH_STREAMING_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_META_STREAMING_TOGGLE, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE },
#else
{ true, RETRO_DEVICE_ID_JOYPAD_B, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_B, RETROK_z, NO_BTN, NO_BTN, 0, AXIS_NONE },
{ true, RETRO_DEVICE_ID_JOYPAD_Y, MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_Y, RETROK_a, NO_BTN, NO_BTN, 0, AXIS_NONE },
@@ -151,7 +154,7 @@ static const struct retro_keybind retro_keybinds_1[] = {
{ true, RARCH_STATE_SLOT_PLUS, MENU_ENUM_LABEL_VALUE_INPUT_META_STATE_SLOT_PLUS, RETROK_F7, NO_BTN, NO_BTN, 0, AXIS_NONE },
{ true, RARCH_STATE_SLOT_MINUS, MENU_ENUM_LABEL_VALUE_INPUT_META_STATE_SLOT_MINUS, RETROK_F6, NO_BTN, NO_BTN, 0, AXIS_NONE },
{ true, RARCH_REWIND, MENU_ENUM_LABEL_VALUE_INPUT_META_REWIND, RETROK_r, NO_BTN, NO_BTN, 0, AXIS_NONE },
{ true, RARCH_MOVIE_RECORD_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_META_MOVIE_RECORD_TOGGLE, RETROK_o, NO_BTN, NO_BTN, 0, AXIS_NONE },
{ true, RARCH_BSV_RECORD_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_META_BSV_RECORD_TOGGLE, RETROK_o, NO_BTN, NO_BTN, 0, AXIS_NONE },
{ true, RARCH_PAUSE_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_META_PAUSE_TOGGLE, RETROK_p, NO_BTN, NO_BTN, 0, AXIS_NONE },
{ true, RARCH_FRAMEADVANCE, MENU_ENUM_LABEL_VALUE_INPUT_META_FRAMEADVANCE, RETROK_k, NO_BTN, NO_BTN, 0, AXIS_NONE },
{ true, RARCH_RESET, MENU_ENUM_LABEL_VALUE_INPUT_META_RESET, RETROK_h, NO_BTN, NO_BTN, 0, AXIS_NONE },
@@ -163,6 +166,7 @@ static const struct retro_keybind retro_keybinds_1[] = {
{ true, RARCH_SCREENSHOT, MENU_ENUM_LABEL_VALUE_INPUT_META_SCREENSHOT, RETROK_F8, NO_BTN, NO_BTN, 0, AXIS_NONE },
{ true, RARCH_MUTE, MENU_ENUM_LABEL_VALUE_INPUT_META_MUTE, RETROK_F9, NO_BTN, NO_BTN, 0, AXIS_NONE },
{ true, RARCH_OSK, MENU_ENUM_LABEL_VALUE_INPUT_META_OSK, RETROK_F12, NO_BTN, NO_BTN, 0, AXIS_NONE },
{ true, RARCH_FPS_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_META_FPS_TOGGLE, RETROK_F3, NO_BTN, NO_BTN, 0, AXIS_NONE },
{ true, RARCH_NETPLAY_GAME_WATCH, MENU_ENUM_LABEL_VALUE_INPUT_META_NETPLAY_GAME_WATCH, RETROK_i, NO_BTN, NO_BTN, 0, AXIS_NONE },
{ true, RARCH_ENABLE_HOTKEY, MENU_ENUM_LABEL_VALUE_INPUT_META_ENABLE_HOTKEY, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE },
{ true, RARCH_VOLUME_UP, MENU_ENUM_LABEL_VALUE_INPUT_META_VOLUME_UP, RETROK_KP_PLUS, NO_BTN, NO_BTN, 0, AXIS_NONE },
@@ -175,6 +179,8 @@ static const struct retro_keybind retro_keybinds_1[] = {
{ true, RARCH_GAME_FOCUS_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_META_GAME_FOCUS_TOGGLE, RETROK_SCROLLOCK, NO_BTN, NO_BTN, 0, AXIS_NONE },
{ true, RARCH_UI_COMPANION_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_META_UI_COMPANION_TOGGLE, RETROK_F5, NO_BTN, NO_BTN, 0, AXIS_NONE },
{ true, RARCH_MENU_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_META_MENU_TOGGLE, RETROK_F1, NO_BTN, NO_BTN, 0, AXIS_NONE },
{ true, RARCH_RECORDING_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_META_RECORDING_TOGGLE, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE },
{ true, RARCH_STREAMING_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_META_STREAMING_TOGGLE, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE },
#endif
};
+25 -1
View File
@@ -80,6 +80,12 @@ static const bool _vulkan_supp = true;
static const bool _vulkan_supp = false;
#endif
#ifdef HAVE_METAL
static const bool _metal_supp = true;
#else
static const bool _metal_supp = false;
#endif
#if defined(HAVE_OPENGLES) || defined(HAVE_OPENGLES2) || defined(HAVE_OPENGLES3) || defined(HAVE_OPENGLES_3_1) || defined(HAVE_OPENGLES_3_2)
static const bool _opengles_supp = true;
#else
@@ -146,6 +152,12 @@ static const bool _coreaudio_supp = true;
static const bool _coreaudio_supp = false;
#endif
#ifdef HAVE_COREAUDIO3
static const bool _coreaudio3_supp = true;
#else
static const bool _coreaudio3_supp = false;
#endif
#if defined(HAVE_OSS) || defined(HAVE_OSS_BSD)
static const bool _oss_supp = true;
#else
@@ -272,12 +284,24 @@ static const bool _ffmpeg_supp = true;
static const bool _ffmpeg_supp = false;
#endif
#ifdef HAVE_MPV
static const bool _mpv_supp = true;
#else
static const bool _mpv_supp = false;
#endif
#ifdef HAVE_FREETYPE
static const bool _freetype_supp = true;
#else
static const bool _freetype_supp = false;
#endif
#ifdef HAVE_STB_FONT
static const bool _stbfont_supp = true;
#else
static const bool _stbfont_supp = false;
#endif
#ifdef HAVE_NETWORKING
static const bool _netplay_supp = true;
#else
@@ -290,7 +314,7 @@ static const bool _python_supp = true;
static const bool _python_supp = false;
#endif
#if defined(HAVE_COCOA) || defined(HAVE_COCOATOUCH)
#if defined(HAVE_COCOA) || defined(HAVE_COCOATOUCH) || defined(HAVE_COCOA_METAL)
static const bool _cocoa_supp = true;
#else
static const bool _cocoa_supp = false;
+551 -99
View File
File diff suppressed because it is too large. Load diff
+90 -11
View File
@@ -2,7 +2,7 @@
* Copyright (C) 2010-2014 - Hans-Kristian Arntzen
* Copyright (C) 2011-2016 - Daniel De Matteis
* Copyright (C) 2014-2016 - Jean-André Santoni
* Copyright (C) 2016 - Brad Parker
* Copyright (C) 2016-2019 - 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-
@@ -25,7 +25,7 @@
#include <retro_common_api.h>
#include <retro_miscellaneous.h>
#include "gfx/video_driver.h"
#include "gfx/video_defines.h"
#include "input/input_defines.h"
#include "led/led_defines.h"
@@ -53,10 +53,18 @@
var = newvar; \
}
enum crt_switch_type
{
CRT_SWITCH_NONE = 0,
CRT_SWITCH_15KHZ,
CRT_SWITCH_31KHZ
};
enum override_type
{
OVERRIDE_NONE = 0,
OVERRIDE_CORE,
OVERRIDE_CONTENT_DIR,
OVERRIDE_GAME
};
@@ -72,6 +80,7 @@ typedef struct settings
bool video_fullscreen;
bool video_windowed_fullscreen;
bool video_vsync;
bool video_adaptive_vsync;
bool video_hard_sync;
bool video_black_frame_insertion;
bool video_vfilter;
@@ -94,12 +103,17 @@ typedef struct settings
bool video_fps_show;
bool video_statistics_show;
bool video_framecount_show;
bool video_memory_show;
bool video_msg_bgcolor_enable;
bool crt_switch_resolution;
bool video_3ds_lcd_bottom;
/* Audio */
bool audio_enable;
bool audio_enable_menu;
bool audio_enable_menu_ok;
bool audio_enable_menu_cancel;
bool audio_enable_menu_notice;
bool audio_enable_menu_bgm;
bool audio_sync;
bool audio_rate_control;
bool audio_wasapi_exclusive_mode;
@@ -148,6 +162,7 @@ typedef struct settings
bool menu_show_help;
bool menu_show_quit_retroarch;
bool menu_show_reboot;
bool menu_show_shutdown;
bool menu_show_latency;
bool menu_show_rewind;
bool menu_show_overlays;
@@ -166,20 +181,30 @@ typedef struct settings
bool menu_content_show_history;
bool menu_content_show_add;
bool menu_content_show_playlists;
bool menu_use_preferred_system_color_theme;
bool menu_preferred_system_color_theme_set;
bool menu_unified_controls;
bool quick_menu_show_take_screenshot;
bool quick_menu_show_save_load_state;
bool quick_menu_show_undo_save_load_state;
bool quick_menu_show_add_to_favorites;
bool quick_menu_show_start_recording;
bool quick_menu_show_start_streaming;
bool quick_menu_show_reset_core_association;
bool quick_menu_show_options;
bool quick_menu_show_controls;
bool quick_menu_show_cheats;
bool quick_menu_show_shaders;
bool quick_menu_show_save_core_overrides;
bool quick_menu_show_save_game_overrides;
bool quick_menu_show_save_content_dir_overrides;
bool quick_menu_show_information;
bool quick_menu_show_recording;
bool quick_menu_show_streaming;
bool kiosk_mode_enable;
bool crt_switch_custom_refresh_enable;
/* Netplay */
bool netplay_public_announce;
bool netplay_start_as_spectator;
@@ -228,6 +253,7 @@ typedef struct settings
bool bundle_assets_extract_enable;
/* Misc. */
bool discord_enable;
bool threaded_data_runloop_enable;
bool set_supports_no_game_enable;
bool auto_screenshot_filename;
@@ -235,8 +261,12 @@ typedef struct settings
bool playlist_entry_remove;
bool playlist_entry_rename;
bool rewind_enable;
bool vrr_runloop_enable;
bool apply_cheats_after_toggle;
bool apply_cheats_after_load;
bool run_ahead_enabled;
bool run_ahead_secondary_instance;
bool run_ahead_hide_warnings;
bool pause_nonactive;
bool block_sram_overwrite;
bool savestate_auto_index;
@@ -271,6 +301,10 @@ typedef struct settings
bool automatically_add_content_to_playlist;
bool video_window_show_decorations;
bool video_window_save_positions;
bool sustained_performance_mode;
bool playlist_use_old_format;
} bools;
struct
@@ -279,6 +313,7 @@ typedef struct settings
float video_scale;
float video_aspect_ratio;
float video_refresh_rate;
float crt_video_refresh_rate;
float video_font_size;
float video_msg_pos_x;
float video_msg_pos_y;
@@ -311,6 +346,7 @@ typedef struct settings
int location_update_interval_distance;
int state_slot;
int audio_wasapi_sh_buffer_length;
int crt_switch_center_adjust;
} ints;
struct
@@ -326,6 +362,7 @@ typedef struct settings
unsigned input_turbo_duty_cycle;
unsigned input_bind_timeout;
unsigned input_bind_hold;
unsigned input_menu_toggle_gamepad_combo;
unsigned input_keyboard_gamepad_mapping_type;
@@ -340,14 +377,14 @@ typedef struct settings
unsigned content_history_size;
unsigned libretro_log_level;
unsigned rewind_granularity;
unsigned rewind_buffer_size_step;
unsigned autosave_interval;
unsigned network_cmd_port;
unsigned network_remote_base_port;
unsigned keymapper_port;
unsigned video_window_x;
unsigned video_window_y;
unsigned video_window_opacity;
unsigned crt_switch_resolution_super;
unsigned crt_switch_resolution;
unsigned crt_switch_resolution_super;
unsigned video_monitor_index;
unsigned video_fullscreen_x;
unsigned video_fullscreen_y;
@@ -361,13 +398,18 @@ typedef struct settings
unsigned video_msg_bgcolor_red;
unsigned video_msg_bgcolor_green;
unsigned video_msg_bgcolor_blue;
unsigned video_stream_port;
unsigned video_record_quality;
unsigned video_stream_quality;
unsigned video_record_scale_factor;
unsigned video_stream_scale_factor;
unsigned menu_timedate_style;
unsigned menu_thumbnails;
unsigned menu_left_thumbnails;
unsigned menu_rgui_thumbnail_downscaler;
unsigned menu_dpi_override_value;
unsigned menu_entry_normal_color;
unsigned menu_entry_hover_color;
unsigned menu_title_color;
unsigned menu_rgui_color_theme;
unsigned menu_xmb_layout;
unsigned menu_xmb_shader_pipeline;
unsigned menu_xmb_scale_factor;
@@ -375,6 +417,7 @@ typedef struct settings
unsigned menu_xmb_theme;
unsigned menu_xmb_color_theme;
unsigned menu_materialui_color_theme;
unsigned menu_ozone_color_theme;
unsigned menu_font_color_red;
unsigned menu_font_color_green;
unsigned menu_font_color_blue;
@@ -384,6 +427,7 @@ typedef struct settings
unsigned input_overlay_show_physical_inputs_port;
unsigned input_split_joycon[MAX_USERS];
unsigned input_joypad_map[MAX_USERS];
unsigned input_device[MAX_USERS];
unsigned input_mouse_index[MAX_USERS];
@@ -399,8 +443,26 @@ typedef struct settings
unsigned led_map[MAX_LEDS];
unsigned run_ahead_frames;
unsigned midi_volume;
unsigned streaming_mode;
unsigned window_position_x;
unsigned window_position_y;
unsigned window_position_width;
unsigned window_position_height;
unsigned video_record_threads;
unsigned libnx_overclock;
} uints;
struct
{
size_t placeholder;
size_t rewind_buffer_size;
} sizes;
struct
{
char placeholder;
@@ -420,6 +482,7 @@ typedef struct settings
char audio_resampler[32];
char input_driver[32];
char input_joypad_driver[32];
char midi_driver[32];
char input_keyboard_layout[64];
@@ -433,6 +496,14 @@ typedef struct settings
char bundle_assets_dst_subdir[PATH_MAX_LENGTH];
char netplay_mitm_server[255];
char midi_input[32];
char midi_output[32];
char youtube_stream_key[PATH_MAX_LENGTH];
char twitch_stream_key[PATH_MAX_LENGTH];
char discord_app_id[PATH_MAX_LENGTH];
} arrays;
struct
@@ -453,6 +524,9 @@ typedef struct settings
char path_cheat_database[PATH_MAX_LENGTH];
char path_content_database[PATH_MAX_LENGTH];
char path_overlay[PATH_MAX_LENGTH];
char path_record_config[PATH_MAX_LENGTH];
char path_stream_config[PATH_MAX_LENGTH];
char path_stream_url[8192];
char path_menu_wallpaper[PATH_MAX_LENGTH];
char path_audio_dsp_plugin[PATH_MAX_LENGTH];
char path_softfilter_plugin[PATH_MAX_LENGTH];
@@ -466,7 +540,7 @@ typedef struct settings
char path_cheat_settings[PATH_MAX_LENGTH];
char path_shader[PATH_MAX_LENGTH];
char path_font[PATH_MAX_LENGTH];
char path_rgui_theme_preset[PATH_MAX_LENGTH];
char directory_audio_filter[PATH_MAX_LENGTH];
char directory_autoconfig[PATH_MAX_LENGTH];
@@ -489,13 +563,13 @@ typedef struct settings
char directory_thumbnails[PATH_MAX_LENGTH];
char directory_menu_config[PATH_MAX_LENGTH];
char directory_menu_content[PATH_MAX_LENGTH];
char streaming_title[PATH_MAX_LENGTH];
} paths;
bool modified;
video_viewport_t video_viewport_custom;
size_t rewind_buffer_size;
} settings_t;
/**
@@ -579,6 +653,9 @@ const char *config_get_default_joypad(void);
**/
const char *config_get_default_menu(void);
const char *config_get_default_midi(void);
const char *config_get_midi_driver_options(void);
const char *config_get_default_record(void);
/**
@@ -668,6 +745,8 @@ bool config_init(void);
bool config_overlay_enable_default(void);
void config_set_defaults(void);
void config_free(void);
settings_t *config_get_ptr(void);
Vendored
+6
View File
@@ -4,6 +4,8 @@ PACKAGE_NAME=retroarch
cat /dev/null > config.log
. qb/qb.init.sh
. qb/qb.system.sh
. qb/qb.params.sh
@@ -11,3 +13,7 @@ cat /dev/null > config.log
. qb/qb.comp.sh
. qb/qb.libs.sh
. qb/qb.moc.sh
. qb/qb.make.sh
+11 -2
View File
@@ -82,10 +82,13 @@ bool content_reset_savestate_backups(void);
bool content_undo_load_buf_is_empty(void);
bool content_undo_save_buf_is_empty(void);
/* Clears the pending subsystem rom buffer*/
/* Checks if launched from the commandline */
bool content_launched_from_cli(void);
/* Clears the pending subsystem rom buffer */
bool content_is_subsystem_pending_load(void);
/* Clears the pending subsystem rom buffer*/
/* Clears the pending subsystem rom buffer */
void content_clear_subsystem(void);
/* Set the current subsystem*/
@@ -103,6 +106,12 @@ unsigned content_get_subsystem_rom_id(void);
/* Set environment variables before a subsystem load */
void content_set_subsystem_info(void);
/* Get the path to the last selected subsystem rom */
char* content_get_subsystem_rom(unsigned index);
/* Sets the subsystem by name */
bool content_set_subsystem_by_name(const char* subsystem_name);
RETRO_END_DECLS
#endif
+2
View File
@@ -65,6 +65,8 @@ typedef struct rarch_system_info
const char *input_desc_btn[MAX_USERS][RARCH_FIRST_META_KEY];
char valid_extensions[255];
bool supports_vfs;
struct retro_disk_control_callback disk_control_cb;
struct retro_location_callback location_cb;
+22 -6
View File
@@ -43,6 +43,7 @@
#include "verbosity.h"
#include "gfx/video_driver.h"
#include "audio/audio_driver.h"
#include "tasks/tasks_internal.h"
#ifdef HAVE_RUNAHEAD
#include "runahead/copy_load_info.h"
@@ -133,7 +134,6 @@ bool core_set_default_callbacks(struct retro_callbacks *cbs)
return true;
}
bool core_deinit(void *data)
{
struct retro_callbacks *cbs = (struct retro_callbacks*)data;
@@ -290,12 +290,15 @@ bool core_load_game(retro_ctx_load_content_info_t *load_info)
bool contentless = false;
bool is_inited = false;
video_driver_set_cached_frame_ptr(NULL);
#ifdef HAVE_RUNAHEAD
set_load_content_info(load_info);
clear_controller_port_map();
#endif
content_get_status(&contentless, &is_inited);
set_save_state_in_background(false);
if (load_info && load_info->special)
current_core.game_loaded = current_core.retro_load_game_special(
@@ -373,12 +376,16 @@ bool core_get_system_av_info(struct retro_system_av_info *av_info)
bool core_reset(void)
{
video_driver_set_cached_frame_ptr(NULL);
current_core.retro_reset();
return true;
}
bool core_init(void)
{
video_driver_set_cached_frame_ptr(NULL);
current_core.retro_init();
current_core.inited = true;
return true;
@@ -386,19 +393,28 @@ bool core_init(void)
bool core_unload(void)
{
current_core.retro_deinit();
video_driver_set_cached_frame_ptr(NULL);
if (current_core.inited)
current_core.retro_deinit();
return true;
}
bool core_unload_game(void)
{
video_driver_free_hw_context();
video_driver_set_cached_frame_ptr(NULL);
if (current_core.game_loaded)
{
current_core.retro_unload_game();
current_core.game_loaded = false;
}
audio_driver_stop();
current_core.retro_unload_game();
current_core.game_loaded = false;
return true;
}
+53 -15
View File
@@ -32,6 +32,10 @@
#include "core_info.h"
#include "file_path_special.h"
#if defined(__WINRT__) || defined(WINAPI_FAMILY) && WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP
#include "uwp/uwp_func.h"
#endif
static const char *core_info_tmp_path = NULL;
static const struct string_list *core_info_tmp_list = NULL;
static core_info_t *core_info_current = NULL;
@@ -149,6 +153,7 @@ static void core_info_list_free(core_info_list_t *core_info_list)
free(info->path);
free(info->core_name);
free(info->systemname);
free(info->system_id);
free(info->system_manufacturer);
free(info->display_name);
free(info->display_version);
@@ -196,7 +201,7 @@ static bool core_info_list_iterate(
if (!current_path)
return false;
info_path_base = (char*)malloc(PATH_MAX_LENGTH * sizeof(char));
info_path_base = (char*)malloc(info_path_base_size);
info_path_base[0] = '\0';
@@ -204,7 +209,7 @@ static bool core_info_list_iterate(
current_path,
info_path_base_size);
#if defined(RARCH_MOBILE) || (defined(RARCH_CONSOLE) && !defined(PSP) && !defined(_3DS) && !defined(VITA) && !defined(HW_WUP))
#if defined(RARCH_MOBILE) || (defined(RARCH_CONSOLE) && !defined(PSP) && !defined(_3DS) && !defined(VITA) && !defined(PS2) && !defined(HW_WUP))
substr = strrchr(info_path_base, '_');
if (substr)
*substr = '\0';
@@ -225,17 +230,35 @@ static bool core_info_list_iterate(
static core_info_list_t *core_info_list_new(const char *path,
const char *libretro_info_dir,
const char *exts,
bool show_hidden_files)
bool dir_show_hidden_files)
{
size_t i;
core_info_t *core_info = NULL;
core_info_list_t *core_info_list = NULL;
const char *path_basedir = libretro_info_dir;
struct string_list *contents = dir_list_new(
path, exts,
false,
show_hidden_files,
false, false);
struct string_list *contents = string_list_new();
bool ok = dir_list_append(contents, path, exts,
false, dir_show_hidden_files, false, false);
#if defined(__WINRT__) || defined(WINAPI_FAMILY) && WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP
/* UWP: browse the optional packages for additional cores */
struct string_list *core_packages = string_list_new();
uwp_fill_installed_core_packages(core_packages);
for (i = 0; i < core_packages->size; i++)
{
dir_list_append(contents, core_packages->elems[i].data, exts,
false, dir_show_hidden_files, false, false);
}
string_list_free(core_packages);
#else
/* Keep the old 'directory not found' behavior */
if (!ok)
{
string_list_free(contents);
contents = NULL;
}
#endif
if (!contents)
return NULL;
@@ -302,6 +325,14 @@ static core_info_list_t *core_info_list_new(const char *path,
tmp = NULL;
}
if (config_get_string(conf, "systemid", &tmp)
&& !string_is_empty(tmp))
{
core_info[i].system_id = strdup(tmp);
free(tmp);
tmp = NULL;
}
if (config_get_string(conf, "manufacturer", &tmp)
&& !string_is_empty(tmp))
{
@@ -421,12 +452,12 @@ static core_info_list_t *core_info_list_new(const char *path,
core_info_list_resolve_all_firmware(core_info_list);
}
dir_list_free(contents);
string_list_free(contents);
return core_info_list;
error:
if (contents)
dir_list_free(contents);
string_list_free(contents);
core_info_list_free(core_info_list);
return NULL;
}
@@ -541,7 +572,11 @@ static bool core_info_list_update_missing_firmware_internal(
if (!info)
return false;
path = (char*)malloc(PATH_MAX_LENGTH * sizeof(char));
path = (char*)malloc(path_size);
if (!path)
return false;
path[0] = '\0';
for (i = 0; i < info->firmware_count; i++)
@@ -643,12 +678,12 @@ void core_info_deinit_list(void)
}
bool core_info_init_list(const char *path_info, const char *dir_cores,
const char *exts, bool show_hidden_files)
const char *exts, bool dir_show_hidden_files)
{
if (!(core_info_curr_list = core_info_list_new(dir_cores,
!string_is_empty(path_info) ? path_info : dir_cores,
exts,
show_hidden_files)))
dir_show_hidden_files)))
return false;
return true;
}
@@ -679,6 +714,9 @@ bool core_info_load(core_info_ctx_find_t *info)
if (!info)
return false;
if (!core_info_current)
core_info_init_current_core();
core_info_get_current_core(&core_info);
if (!core_info_curr_list)
@@ -761,13 +799,13 @@ void core_info_list_get_supported_cores(core_info_list_t *core_info_list,
void core_info_get_name(const char *path, char *s, size_t len,
const char *path_info, const char *dir_cores,
const char *exts, bool show_hidden_files)
const char *exts, bool dir_show_hidden_files)
{
size_t i;
const char *path_basedir = !string_is_empty(path_info) ?
path_info : dir_cores;
struct string_list *contents = dir_list_new(
dir_cores, exts, false, show_hidden_files, false, false);
dir_cores, exts, false, dir_show_hidden_files, false, false);
if (!contents)
return;
Loaded 100 of 5250 files, more files were not shown because too many files have changed in this diff. Show more