Compare commits

...
1394 Commits
Author SHA1 Message Date
Jean-André Santoni 8154197611 Fix griffin 2021-11-08 10:14:35 +07:00
Jean-André Santoni 80cad76480 Add MENU_ACTION_CONTEXT 2021-11-07 13:44:24 +07:00
Jean-André Santoni 350ad77c24 Improve action_context 2021-11-07 13:39:39 +07:00
Jean-André Santoni eaa6ff8809 Call menu_cbs_init_bind_context 2021-11-07 13:35:30 +07:00
Jean-André Santoni 58cb2a6dd5 Add contextual menu 2021-11-07 13:30:15 +07:00
twinaphex a93a2e3366 (MSVC2019 UWP) Buildfix 2021-11-07 05:54:23 +01:00
twinaphex 673d77284d BUmp up version to 1.9.13 2021-11-07 03:28:14 +01:00
twinaphex 88c771fc66 Cleanups 2021-11-07 01:44:45 +01:00
twinaphex c0585fed60 (winraw_input.c) Cleanups 2021-11-06 15:07:35 +01:00
twinaphex 9cdf00e7ee Global variable states - preinitialize to 0 2021-11-06 14:47:34 +01:00
twinaphex 139eaad627 Fix warning 2021-11-06 14:20:02 +01:00
twinaphex 8dcbd61eeb (Netplay) Fix memory leak - pointed out by Cthulhu88 2021-11-06 14:17:03 +01:00
Autechre 9883f11e10 Merge pull request #13194 from sonninnos/auto-frame-delay-fix
Crash fix for 'Automatic Frame Delay'
2021-11-06 13:42:19 +01:00
Autechre cf89152dea Merge pull request #13192 from guoyunhe/patch-9
Crowdin: Fix Python syntax error
2021-11-06 13:42:08 +01:00
sonninnos 75e16f684e Crash fix for 'Automatic Frame Delay' 2021-11-06 14:36:14 +02:00
Guo Yunhe 376dd7c1c3 Update crowdin-daily.yml 2021-11-06 14:11:30 +08:00
Guo Yunhe 08be8156c3 Crowdin: Fix Python syntax error 2021-11-06 14:08:12 +08:00
Jamiras 830960027e fix double free when rich presence update task fires while game is not loaded (#13191) 2021-11-06 06:03:16 +01:00
twinaphex 61d30cdc31 Move input code from retroarch.c to input_driver.c 2021-11-06 04:34:54 +01:00
twinaphex 0c0b86c4cf Buildfix #4 2021-11-06 03:56:34 +01:00
twinaphex 0e0b3bfc68 Buildfix #3 2021-11-06 03:52:02 +01:00
twinaphex cbe00cad57 Another buildfix (sigh) 2021-11-06 03:41:14 +01:00
twinaphex ae9ebf13d3 Potential buildfix 2021-11-06 03:38:41 +01:00
twinaphex 89fd900429 Define this for HAVE_TRANSLATE too 2021-11-06 02:24:28 +01:00
twinaphex a1165664a6 Buildfixes 2021-11-06 02:20:18 +01:00
twinaphex 6d9c9e2b2c Move more code around 2021-11-06 02:18:01 +01:00
twinaphex 5ef57909ef (menu_driver.c) Get rid of menu_state_get_ptr calls 2021-11-06 02:12:21 +01:00
twinaphex 3cea5996bc Move code from retroarch.c to menu_driver.c 2021-11-06 02:13:10 +01:00
twinaphex 538a334fe8 Remove unused variables 2021-11-06 02:04:07 +01:00
twinaphex a594ccd81c (Accessibility) Move out of p_rarch state 2021-11-06 01:59:03 +01:00
twinaphex 0af9b72388 (network) Cleanups 2021-11-06 00:27:51 +01:00
grant2258andgrant2258 1ae36ee9a7 udev fix dolphinbar and safeguard against not adding devices with no mouse or touch buttons detected (#13143)
* udev fixes

* updates

* small updates

* fix condition

Co-authored-by: grant2258 <[email protected]>
2021-11-05 23:59:17 +01:00
Tony 3137f8470b Add 'Automatic Frame Delay' option (#13190) 2021-11-05 23:42:23 +01:00
twinaphex 65a421d90f (Netplay) Cthulhu88 - Remove forced disconnection on unknown netplay command -
will be backwards compatible with any version that removed this
disconnect. instead of disconnecting, we just read the data and
ignore, like most network implementations do
2021-11-05 22:49:59 +01:00
twinaphex 0b16a64d40 Remove unused variables 2021-11-05 22:42:09 +01:00
twinaphex 6a0d7c63d5 Use C-style comment 2021-11-05 22:33:08 +01:00
twinaphex ae43a7e7cb (CLI) -C/--connect command-line fix 2021-11-05 22:25:06 +01:00
twinaphex c912619653 * Move port_map to runloop_state
* Get rid of p_rarch dependencies in functions
2021-11-05 22:03:13 +01:00
twinaphex 1f4123ba54 Don't include netplay.h header unless we have HAVE_NETWORKING
defined
2021-11-05 19:50:02 +01:00
twinaphex 0a209c4564 Last suggested fix 2021-11-05 19:22:22 +01:00
twinaphex a50cd1105e Hopefully fixes it 2021-11-05 19:18:26 +01:00
twinaphex 67c010394d Remove netplay_discovery.h - hopefully fixes other build issues 2021-11-05 19:12:55 +01:00
twinaphex aadedf39f2 Buildfixes as suggested by forum member - should hopefully fix
console builds as well as other issues
2021-11-05 19:04:52 +01:00
twinaphex 3bc6dd97d9 Revert "Revert "Move stray globals to networking state""
This reverts commit a796f1ce58.
2021-11-05 18:55:55 +01:00
twinaphex ac1f6ab599 Revert "Revert "Move some stray globals to netplay state""
This reverts commit 722f9bbfac.
2021-11-05 18:53:33 +01:00
twinaphex 7e7b2d826e Revert "Revert "Remove obsolete comment""
This reverts commit 3597643faa.
2021-11-05 18:53:20 +01:00
twinaphex 2820231dd0 Revert "Revert "remove unused variables""
This reverts commit 0c735e5c9c.
2021-11-05 18:53:09 +01:00
twinaphex 7f33a03423 Revert "Revert "Backport netplay changes from forum member""
This reverts commit 38a6b9f086.
2021-11-05 18:52:56 +01:00
twinaphex 38a6b9f086 Revert "Backport netplay changes from forum member"
This reverts commit 367ac6ce46.
2021-11-05 18:34:52 +01:00
twinaphex 0c735e5c9c Revert "remove unused variables"
This reverts commit cea8528929.
2021-11-05 18:34:43 +01:00
twinaphex 3597643faa Revert "Remove obsolete comment"
This reverts commit e8ed660ea1.
2021-11-05 18:34:32 +01:00
twinaphex 722f9bbfac Revert "Move some stray globals to netplay state"
This reverts commit f264d20d1e.
2021-11-05 18:34:24 +01:00
twinaphex a796f1ce58 Revert "Move stray globals to networking state"
This reverts commit 96053e14a7.
2021-11-05 18:34:11 +01:00
twinaphex 96053e14a7 Move stray globals to networking state 2021-11-05 18:07:41 +01:00
twinaphex f264d20d1e Move some stray globals to netplay state 2021-11-05 17:50:18 +01:00
twinaphex e8ed660ea1 Remove obsolete comment 2021-11-05 17:41:30 +01:00
twinaphex cea8528929 remove unused variables 2021-11-05 17:40:56 +01:00
twinaphex 367ac6ce46 Backport netplay changes from forum member 2021-11-05 17:17:10 +01:00
twinaphex 3ead1ac5df Move discord code to separate file 2021-11-05 14:00:37 +01:00
twinaphex 121174c9af (Discord) Remove stray discord_is_inited global - put it in
discord_state_t instead
2021-11-05 13:45:00 +01:00
Guo Yunhe 15321b2588 Fix Crowdin Daily GitHub Action (#13187)
* Update crowdin-daily.yml

* Update json2h.py
2021-11-05 11:38:35 +01:00
twinaphex 8af0c2755d Remove unused variables 2021-11-05 05:10:32 +01:00
twinaphex 9c3c547482 Need to be placed above this code block 2021-11-05 04:50:16 +01:00
twinaphex db9283b57c Silence some warnings 2021-11-05 04:49:26 +01:00
twinaphex 11defb4009 Move netplay/networking code to netplay_frontend.c - move it out of
retroarch.c
2021-11-05 04:42:03 +01:00
twinaphex 21beb6064a Silence some warnings 2021-11-05 03:58:26 +01:00
twinaphex fe0c0d73ff Move aspectratio_lut to video_driver.c 2021-11-05 03:47:04 +01:00
twinaphex f50df1acfb Buildfix 2021-11-05 03:15:17 +01:00
twinaphex c54aeffd9e Cleanups 2021-11-05 02:58:41 +01:00
twinaphex c17bcb8d91 Move code from retroarch.c to video_driver.c 2021-11-05 02:53:58 +01:00
twinaphex e4ccc2508e Move code over from retroarch.c to video_driver.c 2021-11-05 02:33:22 +01:00
twinaphex 18412e34c1 Some CXX_BUILD buildfixes for Mac 2021-11-05 02:16:40 +01:00
Autechre 97753bad7c Update retroarch.yml 2021-11-05 01:46:19 +01:00
twinaphex d97f05650d (YXML) Buildfix 2021-11-05 01:24:13 +01:00
twinaphex c8b69aa506 More preparation for being able to move code out of retroarch.c 2021-11-05 00:50:20 +01:00
twinaphex aea4b3e318 (yxml) Remove unused inline function; get rid of inline macro 2021-11-05 00:24:21 +01:00
twinaphex d3fd72ba63 Fix header include - should have been relative 2021-11-05 00:09:45 +01:00
Jamiras 088aa7dcb9 add github action for c89 build (#13186)
* add retroarch.yml

* fix c89 errors

* attempt to add dependencies

* update comments
2021-11-05 00:05:13 +01:00
twinaphex 574b850dd7 Preparations for being able to move discord and networking code
out of retroarch.c
2021-11-04 22:50:38 +01:00
github-actions 4b95c5dc84 Fetch translations from Crowdin 2021-11-04 00:06:05 +00:00
twinaphex be347e9d49 Move command_event_reinit to command.c 2021-11-04 00:38:18 +01:00
twinaphex c5b20dff41 (3DS/CTR) Cleanup 2021-11-03 22:01:01 +01:00
twinaphex f59b420fde * Move more code to command.c
* Buildfix for CTR/3DS
2021-11-03 21:59:58 +01:00
twinaphex 69e8416e45 (CTR) C89 conformity cleanups 2021-11-03 21:42:11 +01:00
twinaphex 514ed00f2d Move configuration state over to configuration.c - take it out of
p_rarch
2021-11-03 21:22:37 +01:00
Guo Yunhe 6ad91b2b37 Crowdin integration full (#13171)
* Create crowdin-daily.yml

* Update crowdin.yaml

* Update crowdin_sync.py

* Update fetch_progress.py
2021-11-03 18:44:08 +01:00
twinaphex cbfbd14268 (MSVC 2010 Griffin) Add HAVE_CHEEVOS to MSVC 2010 build 2021-11-03 17:11:20 +01:00
twinaphex af2e91fcfe (Cheevos) MSVC buildfix 2021-11-03 16:53:59 +01:00
twinaphex 1a78d91348 MSVC buildfix 2021-11-03 16:50:41 +01:00
Autechre 80e0114ccf Move collect_system_input to input_driver.c (#13183) 2021-11-03 16:48:57 +01:00
gblues 1ef78d3e3d Any pad can control the menu (#13173)
* Any pad can control the menu

== DETAILS
I am not sure I've quite got it so that any pad can *open* the
menu, but I do have it so any pad can control it.

- split out the input processing into a separate method
- track down and squish some hairy bugs that boiled down to
  bad pointer math
- it looks like `menu_driver.c` has a mix of line endings, so I
  ran it through `dos2unix` so it has consistent line endings
  again.
- verified that this change did not impact actual cores

* optimize out cumulative_bits

* Incorporate PR feedback

Many thanks to @jdgleaver for providing these optimizations.

* apply one more optimization
2021-11-03 16:32:15 +01:00
twinaphex 4b16b4fe9a Change this to gblues' implementation and leave a TODO/FIXME 2021-11-01 21:17:39 +01:00
twinaphex c88577850d (frontend_driver.c) Try to make the code more safe if the pointer
is NULL
2021-11-01 19:34:54 +01:00
twinaphex 05ca465aab (Cheevos) Style nits:
* single line code blocks - remove brackets
* Try to fit lines into 80 chars
* Etc
2021-11-01 18:38:56 +01:00
twinaphex b9df71b9d5 (cheevos) Silence warnings/remove unused variables 2021-11-01 18:06:36 +01:00
Jamiras 20264aaced replace coroutines with tasks (#13178) 2021-11-01 18:02:40 +01:00
twinaphex abce5e1c6f (retroarch.c) Cleanups - go through more pointers 2021-10-30 11:32:10 +02:00
twinaphex aaad65538c Move rarch_patch_blocked to runloop_state, and get rid of
RARCH_CTL_IS_PATCH_BLOCKED
2021-10-30 11:15:45 +02:00
Autechre 49e99266f8 Move frontend code to frontend_driver.c (#13170) 2021-10-29 19:43:37 +02:00
twinaphex c5688729c2 Move has_set_libretro_device to runloop_state 2021-10-29 18:24:19 +02:00
twinaphex 2e19dbe932 lastcmd_source and lastcmd_net_fd never used - get rid of them 2021-10-29 17:45:24 +02:00
twinaphex 5477e34815 Move stray globals subsystem_data and subsystem_current_count to
runloop_state
2021-10-29 17:41:31 +02:00
twinaphex bf8cae10a3 Move retroarch_get_shader_preset to video_shader_parse.c 2021-10-29 16:35:50 +02:00
Autechre e42f8228de Move cli_shader to video_state (#13168)
* Move cli_shader to video_state

* Formatting fixes
2021-10-29 15:35:43 +02:00
twinaphex ec7b7821fa Move code out of retroarch.c 2021-10-29 14:13:16 +02:00
twinaphex 18707da360 Move menu_driver_ctl to menu_driver.c 2021-10-29 13:31:10 +02:00
twinaphex 80e7e1adde Move state over 2021-10-28 06:03:54 +02:00
jdgleaver c67c7c944d Initialise 'Explore' menu on a background thread (#13162) 2021-10-27 17:51:22 +02:00
Tomáš Kelemen 8f88610d32 add define for HAVE_LAKKA_NIGHTLY when used as option (#13155) 2021-10-26 22:01:51 +02:00
Tomáš Kelemen 82d4cd9f19 do not sort FILE_TYPE_DOWNLOAD_LAKKA type list (#13156)
the `.index` file downloaded using the updater already has the files
sorted from latest version to oldest, so sorting is not wanted here
2021-10-26 22:01:38 +02:00
tunip3 d75127e9c2 Fix issue where files over 2.5gb approx would fail to load on uwp/xbox (#13150)
* fix issue where files over 2.5 gb would fail to read

* fix issue where trying to get the file size on excessively large files would fail
2021-10-26 01:43:44 +02:00
alphanu1andAntonio Giner f5d8d07cf1 Fixes for fractal scaling (#13149)
* CRT Fractal scalling fix for SR2

Added comment to remind me to add video core to SR2

fixed typo

* Addedd only x fractal scaling for super resolutions

* Properly handle fractional scale factors and fix some typos.

Co-authored-by: Antonio Giner <[email protected]>
2021-10-26 01:43:22 +02:00
Autechre 6b7f28761a Merge pull request #13148 from ToKe79/cpufreq-hdr
add header for cpufreq
2021-10-24 18:25:36 +02:00
Tomáš Kelemen (vudiq) 643a1c7e6f add header for cpufreq
functions using set_cpu_scaling_signal() (used by Lakka) have been
moved, but the header was not added
2021-10-24 12:41:23 +02:00
twinaphex e2b7c23902 Bump up version to 1.9.12 2021-10-24 03:55:08 +02:00
Autechre 4fe63e6f3f Update CHANGES.md 2021-10-24 03:50:42 +02:00
Autechre bec793b030 Merge pull request #13146 from IlDucci/translationsupdatewithscript
Fetch translations from Crowdin 23-Oct-2021
2021-10-24 03:10:14 +02:00
IlDucci 4a1dd3d80d Fetch translations from Crowdin 23-Oct-2021 2021-10-23 22:23:31 +02:00
twinaphex c79b60ba77 Change val_d back to 16 size 2021-10-21 04:34:04 +02:00
twinaphex 22ae6f23aa (menu displaylist/remapping) Increase val_s and val_d char arrays to 256 2021-10-21 04:16:26 +02:00
twinaphex 758eafa686 (SDL) Potential buildfix 2021-10-20 15:57:34 +02:00
twinaphex 5ec93d2493 (HID) Fix some warnings 2021-10-20 02:23:01 +02:00
twinaphex 1dc77507a8 Fix command stdin - courtesy of Cthulhu 2021-10-19 22:23:07 +02:00
Autechre 1e1919b236 Merge pull request #13138 from mahoneyt944/patch-1
Log new line
2021-10-19 19:31:06 +02:00
mahoneyt944 df6b1c306f Log 2021-10-19 09:46:40 -04:00
Autechre 514534f99b Move more state to runloop_state (#13124)
* Move more state to runloop state

* remove unused variable

* Cleanup

* Move more state to runloop_state

* Remove unused variable

* Cleanups

* move input_remapping functions over to input_driver.c

* Some buildfixes
2021-10-18 15:23:22 +02:00
Autechre 47a6df871a Merge pull request #13134 from grant2258/udev
add extra abs check for dolphinbar
2021-10-18 14:59:48 +02:00
jdgleaver 9a3be2ef2b (.gitlab-ci.yml) Detect Android build errors 2021-10-18 13:32:29 +02:00
grant2258 6e8a3945d5 add extra abs check for dolphinbar 2021-10-18 03:43:49 +01:00
twinaphex 8ff07916ec Backport netplay changes from Cthulhu 2021-10-18 01:13:35 +02:00
twinaphex edeb684712 (Android) Buildfix 2021-10-17 23:38:21 +02:00
twinaphex 4a834bda36 Set CODE_SIGN_IDENTITY and DEVELOPMENT_TEAM back - these should
not be altered
2021-10-17 23:30:26 +02:00
Autechre acd1ba0449 Merge pull request #13130 from gblues/gblues/kpad
Fix wiimotes regression
2021-10-17 15:05:52 +02:00
Nathan Strong c0719e737b build fix 2021-10-17 00:25:01 -07:00
Nathan Strong 12a44e0365 Fix crashes reported by ploggy
== DETAILS

The crashes he reported in the gbatemp thread are due to iface
being null (since it's an unsupported device) and unchecked
iface dereferences.
2021-10-17 00:13:48 -07:00
Nathan Strong 5b4b766459 Fix wiimotes regression
== DETAILS
- only call disconnect when we're actually disconnecting a remote
  (e.g. read errors or remote goes to sleep).
- clean up some compile warnings introduced by others (mainly
  unused variables)
2021-10-16 23:56:15 -07:00
Autechre 2f4cfe2a02 Merge pull request #13128 from gblues/gblues/osx-ds3
HID: get Sony Sixaxis (DualShock 3) working on Mac OSX
2021-10-17 03:15:07 +02:00
Nathan Strong 81c6d3809a Finish up the OSX DS3 driver
== DETAILS
Put the finishing touches on getting the DS3 to work on Mac OSX.

Basically, there's some differences in the HID interface bewtween
wiiu and osx where OSX expects the first byte of the report to be
the report ID, while wiiu expects that byte to be trimmed off.

I was able to put this behavior in the respective HID
implementations, which eliminated the confusing packet offset
ifdefs.

And, I was able to get the LEDs working again.
2021-10-16 14:52:56 -07:00
Nathan Strong 729c219f1a Rewrite DS3 driver
== DETAILS
The DS3 driver previously only worked with the Wii U HID implementation.

I adapted this driver from the Linux driver for the DS3. It's not quite
100%--I haven't got the LEDs to work properly--but it's functional.

Going to continue tweaking it to see if I can get the LEDs to work.
2021-10-16 14:52:56 -07:00
Nathan Strong 7ed3ca7f97 WIP commit
Start trying to adapt the linux DS3 driver instead of our
hacked-together support.
2021-10-16 14:52:56 -07:00
Autechre 840cca36fa Merge pull request #13126 from ofsaleem/master
feat: solarized light ozone theme (#5)
2021-10-16 22:30:19 +02:00
Omar Saleem b4878a8e7b feat: solarized light ozone theme (#5)
* feat: adding solarized dark theme to ozone

* fix: variable not defined in header

* fix: added string for selecting theme in menu

* fix: added message hash for string

* feat: copied solarized dark translations into msg hashes

* fix: forgot to change name of enum label after copying

* first pass of new colors

* added selection border and fixed sublabel color

* sublabel color from blue to muted gray

* trying cyan for sublabel

* adjusted selected text color to match philosophy from solarized website

* testing what the entries_ colors do

* chose colors for entries_, adjusted other border and bgs

* match selection border to sublabel color

* trying gray for sublabel

* accidentally put the color in the wrong place, reverting and updating

* trying to change selected option color to orange

* not feeling orange, lets try teal

* try for orange border

* try for magenta border

* try for violet border

* trying blue border again

* trying omar blue bc why not

* reverting to regular blue for icons and green for border

* try magenta for footer border

* trying font color for footer border

* trying to get message background to show

* can't get it to render, but changed message background to violet

* testing sidebar changes

* sidebar colors

* lighter sidebar color

* trying gray sidebar

* try a gradient

* screwed up one of the coordinates

* reversing gradient

* attempting gradient with colors i made up

* accidentally wrote gradient to dracula instead of solarized dark

* adding gradient to the top, reversing bottom gradient

* randomly trying shuffling bottom gradient coords

* moving top right coordinate somewhere else

* swapped top two bottom coords to see

* swapped them back, i got lucky and things were right

* think i figured out the order,  BL, BR, TL, TR

* making background gradient lil darker

* fixed coords

* lessening gradient effect

* lessening gradient effect, but by making darker instead of lighter

* of course, messed up two coords

* removed top and bottom gradients

* dark and flat sidebar

* forgot to change running background

* made running background a bit less transparent since this is a low contrast theme

* added underscore to theme name

* adjusting message background color

* fixing message background color

* fixed cursor color border

* adjusting text to be one notch brighter, base0 -> base1, base01 -> base0

* adjusting sublabel text to use base00 instead, its in between base01 and base0

* added message hashes for light theme name

* added defines and enums for the light theme

* added solarized light structs into ozone.c, theyre all clones of dark for now

* fixing solarized dark ozone theme

fixing name of theme in ozone.c so assets load properly, fixing cursor and message colors to be green instead of purple

* added message hashes for light theme name

* added defines and enums for the light theme

* added solarized light structs into ozone.c, theyre all clones of dark for now

* i had based this branch on the wrong branch, fixed

* first pass, only changing background and regular text

* trying orange and magenta highlights

* Revert "trying orange and magenta highlights"

This reverts commit 1f1e107888cee0e97c6354a8d114863b39af8d00.

* applying the new colors to the right theme this time :)

* trying red instead of pink

* trying magenta icons in a desperate attempt to justify the use of the color

* trying magenta icons, orange labels and selector

* back to orange and red, sigh

* trying sidebar colors

* fixing sidebar gradient

* light theme red animated border colors

* trying magenta for second border color

* that was bad, trying a less light red

* going even darker

* made cursor border get darker instead of lighter

* that was a little too dark

* changed light theme running background to be..light
2021-10-16 16:17:16 -04:00
Autechre 320f2308f6 Merge pull request #13121 from ofsaleem/master
fix: solarized dark ozone theme assets and color tweaks
2021-10-16 22:10:54 +02:00
Autechre c1b002e454 Merge pull request #13125 from grant2258/mouse
Udev pointer pressed update to support relative devices pointer pressed
2021-10-16 22:10:36 +02:00
grant2258 1fca7507dc cleanup 2021-10-16 19:36:35 +01:00
grant2258 a68e5205bd add relative left mouse button when pointer device is not abs 2021-10-16 19:26:40 +01:00
Omar Saleem 038b28c5f2 updating text labels to be brighter (#4)
* adjusting text to be one notch brighter, base0 -> base1, base01 -> base0

* adjusting sublabel text to use base00 instead, its in between base01 and base0
2021-10-16 12:42:45 -04:00
Omar Saleem 64dabb0388 Revert "Solarized light (#3)"
This reverts commit 485d07691d.
2021-10-15 23:51:25 -04:00
Omar Saleem 485d07691d Solarized light (#3)
* feat: adding solarized dark theme to ozone

* fix: variable not defined in header

* fix: added string for selecting theme in menu

* fix: added message hash for string

* feat: copied solarized dark translations into msg hashes

* fix: forgot to change name of enum label after copying

* first pass of new colors

* added selection border and fixed sublabel color

* sublabel color from blue to muted gray

* trying cyan for sublabel

* adjusted selected text color to match philosophy from solarized website

* testing what the entries_ colors do

* chose colors for entries_, adjusted other border and bgs

* match selection border to sublabel color

* trying gray for sublabel

* accidentally put the color in the wrong place, reverting and updating

* trying to change selected option color to orange

* not feeling orange, lets try teal

* try for orange border

* try for magenta border

* try for violet border

* trying blue border again

* trying omar blue bc why not

* reverting to regular blue for icons and green for border

* try magenta for footer border

* trying font color for footer border

* trying to get message background to show

* can't get it to render, but changed message background to violet

* testing sidebar changes

* sidebar colors

* lighter sidebar color

* trying gray sidebar

* try a gradient

* screwed up one of the coordinates

* reversing gradient

* attempting gradient with colors i made up

* accidentally wrote gradient to dracula instead of solarized dark

* adding gradient to the top, reversing bottom gradient

* randomly trying shuffling bottom gradient coords

* moving top right coordinate somewhere else

* swapped top two bottom coords to see

* swapped them back, i got lucky and things were right

* think i figured out the order,  BL, BR, TL, TR

* making background gradient lil darker

* fixed coords

* lessening gradient effect

* lessening gradient effect, but by making darker instead of lighter

* of course, messed up two coords

* removed top and bottom gradients

* dark and flat sidebar

* forgot to change running background

* made running background a bit less transparent since this is a low contrast theme

* added underscore to theme name

* adjusting message background color

* fixing message background color

* fixed cursor color border

* adjusting text to be one notch brighter, base0 -> base1, base01 -> base0

* adjusting sublabel text to use base00 instead, its in between base01 and base0

* added message hashes for light theme name

* added defines and enums for the light theme

* added solarized light structs into ozone.c, theyre all clones of dark for now

* fixing solarized dark ozone theme

fixing name of theme in ozone.c so assets load properly, fixing cursor and message colors to be green instead of purple

* added message hashes for light theme name

* added defines and enums for the light theme

* added solarized light structs into ozone.c, theyre all clones of dark for now

* i had based this branch on the wrong branch, fixed

* first pass, only changing background and regular text

* trying orange and magenta highlights

* Revert "trying orange and magenta highlights"

This reverts commit 1f1e107888cee0e97c6354a8d114863b39af8d00.

* applying the new colors to the right theme this time :)

* trying red instead of pink

* trying magenta icons in a desperate attempt to justify the use of the color

* trying magenta icons, orange labels and selector

* back to orange and red, sigh

* trying sidebar colors

* fixing sidebar gradient

* light theme red animated border colors

* trying magenta for second border color

* that was bad, trying a less light red

* going even darker

* made cursor border get darker instead of lighter

* that was a little too dark

* changed light theme running background to be..light
2021-10-15 23:44:42 -04:00
Omar Saleem 591467d247 fixing solarized dark ozone theme
fixing name of theme in ozone.c so assets load properly, fixing cursor and message colors to be green instead of purple
2021-10-15 16:37:32 -04:00
Omar Saleem 0c017a2c82 reverting so i can squash commits 2021-10-15 16:36:09 -04:00
Autechre f86c28afac Merge pull request #13120 from libretro/move-runloop2
move more state to runloop_state
2021-10-15 16:43:44 +02:00
twinaphex 9184d0e114 Move hid_data to input_st 2021-10-15 16:31:31 +02:00
twinaphex 5c6d92bb95 move more state to runloop_state 2021-10-15 16:13:21 +02:00
twinaphex b200ced199 Buildfix for --have-menu 2021-10-15 14:43:25 +02:00
Autechre eb4ed9b2f0 Merge pull request #13119 from ofsaleem/master
feat: new ozone theme - solarized dark
2021-10-15 14:40:06 +02:00
twinaphex 9b4636ff62 Fixes --disable-menu 2021-10-15 14:32:07 +02:00
Autechre 527eb86655 Merge pull request #13117 from libretro/move-runloop
Move state to runloop state
2021-10-15 14:05:46 +02:00
twinaphex 8db4e2a862 Get rid of HAVE_MENU ifdefs in menu_driver.c 2021-10-15 14:01:44 +02:00
twinaphex af40baa04d Address feedback 2021-10-15 13:54:04 +02:00
Omar Saleem 5226a0659a new ozone theme: solarized dark (#1)
* feat: adding solarized dark theme to ozone

* fix: variable not defined in header

* fix: added string for selecting theme in menu

* fix: added message hash for string

* feat: copied solarized dark translations into msg hashes

* fix: forgot to change name of enum label after copying

* first pass of new colors

* added selection border and fixed sublabel color

* sublabel color from blue to muted gray

* trying cyan for sublabel

* adjusted selected text color to match philosophy from solarized website

* testing what the entries_ colors do

* chose colors for entries_, adjusted other border and bgs

* match selection border to sublabel color

* trying gray for sublabel

* accidentally put the color in the wrong place, reverting and updating

* trying to change selected option color to orange

* not feeling orange, lets try teal

* try for orange border

* try for magenta border

* try for violet border

* trying blue border again

* trying omar blue bc why not

* reverting to regular blue for icons and green for border

* try magenta for footer border

* trying font color for footer border

* trying to get message background to show

* can't get it to render, but changed message background to violet

* testing sidebar changes

* sidebar colors

* lighter sidebar color

* trying gray sidebar

* try a gradient

* screwed up one of the coordinates

* reversing gradient

* attempting gradient with colors i made up

* accidentally wrote gradient to dracula instead of solarized dark

* adding gradient to the top, reversing bottom gradient

* randomly trying shuffling bottom gradient coords

* moving top right coordinate somewhere else

* swapped top two bottom coords to see

* swapped them back, i got lucky and things were right

* think i figured out the order,  BL, BR, TL, TR

* making background gradient lil darker

* fixed coords

* lessening gradient effect

* lessening gradient effect, but by making darker instead of lighter

* of course, messed up two coords

* removed top and bottom gradients

* dark and flat sidebar

* forgot to change running background

* made running background a bit less transparent since this is a low contrast theme
2021-10-15 03:16:13 -04:00
twinaphex a16df36b28 Don't use menu_state_get_ptr from inside menu_driver.c 2021-10-15 04:01:06 +02:00
twinaphex a291323467 Move some code to gfx/video_driver.c 2021-10-15 02:25:12 +02:00
twinaphex 40aa7dad10 Move code to menu_driver.c and rename retroarch_ function to runloop_
function
2021-10-15 02:14:43 +02:00
twinaphex 6f7b5a3f15 Buildfix for non-HAVE_DYNAMIC 2021-10-15 00:23:40 +02:00
twinaphex 70b337782d Fix MSVC build 2021-10-15 00:11:52 +02:00
twinaphex b9500ff729 Move state over to runloop state 2021-10-14 22:18:14 +02:00
twinaphex 5e8b2bfed1 Move variables to runloop state 2021-10-14 22:02:09 +02:00
twinaphex ba19dc3140 Move more related to core to runloop_state 2021-10-14 21:47:35 +02:00
twinaphex bf2c3902d4 Cleanups 2021-10-14 21:35:38 +02:00
twinaphex 2b41173cd5 Move more state to runloop_state 2021-10-14 21:22:07 +02:00
twinaphex 6d6ed11b60 remove unused p_rarch variables 2021-10-14 21:18:53 +02:00
twinaphex eef9668263 move runloop state from retroarch_data to runloop_state 2021-10-14 21:15:11 +02:00
Autechre 6ccac53d89 Merge pull request #13116 from jdgleaver/contentless-sram
Enable SRAM for contentless cores
2021-10-14 19:29:30 +02:00
twinaphex 6d13461948 Fix to earlier HAVE_CORE_INFO_CACHE commit 2021-10-14 16:46:48 +02:00
twinaphex a476910ca6 (Mac) BaseConfig.xcconfig - change formatting back 2021-10-14 16:06:17 +02:00
twinaphex 28cac5c5a4 Add HAVE_CORE_INFO_CACHE - disable this for Steam build 2021-10-14 15:57:28 +02:00
jdgleaver 40925baacd Enable SRAM for contentless cores 2021-10-14 13:59:23 +01:00
twinaphex c19b04e21e Cleanup emscripten_mainloop 2021-10-13 23:15:14 +02:00
twinaphex b5e7957260 Fix emscripten 2021-10-13 23:14:26 +02:00
twinaphex 7f2cc93cf5 Silence warning 2021-10-13 21:44:40 +02:00
twinaphex c098a321b4 silence more warnings 2021-10-13 20:27:31 +02:00
twinaphex a79bd56018 (WiiU) Prevent implicit declarations 2021-10-13 20:22:01 +02:00
Autechre af0746c6d7 Merge pull request #13113 from tim77/metainfo
Update metadata manifest (Linux)
2021-10-13 19:56:36 +02:00
twinaphex 8bab67ea9c Potential buildfix for targets without HAVE_AUDIOMIXER support 2021-10-13 19:51:28 +02:00
twinaphex aa6d3542d2 Prevent warning 2021-10-13 18:44:27 +02:00
Autechre 78b861a8e8 Merge pull request #13114 from libretro/move-widgetstate
Better compartmentalize state - better distinction between runloop and retroarch files
2021-10-13 18:43:23 +02:00
twinaphex 70606eab1e Buildfix for WiiU 2021-10-13 18:40:41 +02:00
twinaphex 22d70a64dd Move command_write_memory and command_read_memory to command.c 2021-10-13 18:15:35 +02:00
twinaphex 753a04c9c1 Move menu_driver_toggle to menu_driver.c 2021-10-13 17:59:45 +02:00
twinaphex caccc410c6 Move gfx_widgets_ready to gfx_widgets.h 2021-10-13 17:51:46 +02:00
twinaphex 68f0e50a2f rename a bunch of functions to runloop_ prefix instead of retroarch_ -
we need to make a better distinction between runloop and the 'retroarch
state'
2021-10-13 17:48:40 +02:00
twinaphex 0b66c81197 Move state variables to runloop_state 2021-10-13 17:37:24 +02:00
twinaphex e72a88a98e Move some variables to widget state 2021-10-13 17:25:31 +02:00
twinaphex d87e0c1744 * Fix implicit declaration
* Move more code to gfx/video_driver.c
2021-10-13 16:36:38 +02:00
twinaphex e47e9968ed Move audio_driver_menu_sample to audio_driver.c and turn
audio_driver_flush into static function
2021-10-13 16:29:41 +02:00
twinaphex f070da6dfc Move code to menu_driver.c and input_driver.c 2021-10-13 15:40:01 +02:00
twinaphex 99b09ce359 Move more code to gfx/video_driver.c 2021-10-13 15:20:09 +02:00
twinaphex 5f4d4fe678 Move more code from retroarch.c to video_driver.c - retroarch.c now
778kb
2021-10-13 15:15:24 +02:00
Autechre 0ca98195d9 Merge pull request #13096 from salvacam/miyoo-ifdef-fix
miyoo ifdef fix
2021-10-13 15:16:42 +02:00
Artem Polishchuk 9781caa20b chore: Update metadata manifest (Linux) 2021-10-13 16:08:58 +03:00
Autechre 0a888f7868 Move video state to gfx/video_driver.c - reduces filesize of retroarch.c to 809kb (#13104)
* Move video state to gfx/video_driver.c - reduces filesize of retroarch.c
to 809Kb
2021-10-13 14:56:22 +02:00
Autechre 0b2c80a402 Merge pull request #13112 from jdgleaver/dingux-joypad-defines-fix
(Dingux) Fix HAS_ANALOG/HAS_MENU_TOGGLE defines in sdl_dingux joypad driver
2021-10-13 14:25:42 +02:00
Autechre 2179bc8716 Merge pull request #13111 from jdgleaver/3ds-2d-fix
(3DS) Ensure parallax barrier is disabled when '3DS Display Mode' is '2D'
2021-10-13 14:00:23 +02:00
jdgleaver f1ac1ad9f9 (Dingux) Fix HAS_ANALOG/HAS_MENU_TOGGLE defines in sdl_dingux joypad driver 2021-10-13 12:53:54 +01:00
jdgleaver 1ebf821da3 (3DS) Ensure parallax barrier is disabled when '3DS Display Mode' is '2D' 2021-10-13 12:31:43 +01:00
Autechre ac1a280665 Merge pull request #13107 from markand/fix-wifi
Fix missing time.h header in wifi_driver.h
2021-10-12 14:11:38 +02:00
David Demelier a23a358dc9 Fix missing time.h header in wifi_driver.h 2021-10-12 13:55:29 +02:00
twinaphex cfb2ae7d2c need to use SetWindowText for LEGACY_WIN32 2021-10-12 12:41:05 +02:00
twinaphex 849ed7fc3d Buildfix for MSVC 2021-10-12 11:58:22 +02:00
Soar QinandSoar Qin 290bc214e3 win32: fix broken win9x builds caused by #13089 (#13106)
Co-authored-by: Soar Qin <[email protected]>
2021-10-12 11:24:58 +02:00
twinaphex e9d4fcc00c Buildfix 2021-10-11 18:06:25 +02:00
Bernhard Schelling a3d9201581 Add environment callback to get the rate retro_run is called (#13022)
* Add GET_THROTTLE_STATE environment callback

* Add RETRO_THROTTLE_UNBLOCKED
to report the case where neither vsync nor audio is limiting the call rate.
Also fix reporting of some special cases when the menu is open.

* Change throttle state mode to unsigned
Use #defines Instead of the untyped C enum to allow easier future additions.

* Spelling fixes

* Avoid any divide-by-zero
2021-10-11 18:05:13 +02:00
Autechre e7f182811a Split up audio code into new file audio/audio_driver.c (#13097)
* Split up audio code into new file audio/audio_driver.c

* Fix build issues #1

* Small cleanup

* Fix typo
2021-10-11 18:01:37 +02:00
Kirby Kevinson 177d05144a Fix keyboard input on Wayland (#13102)
Fixes #13036
2021-10-11 13:20:41 +02:00
gblues dd6c70a083 Fix a couple regressions (#13101)
== DETAILS

- rewrote the HID deregistration algorithm; it should no longer
  cause issues when dealing with multiple pads of the same HID/VID
  combo
- fix initialization bug that caused wiimotes to fail to register
  without an accessory attached
2021-10-11 09:39:13 +02:00
salvacam 757ba2f16d miyoo ifdef fix 2021-10-10 20:00:53 +02:00
Autechre a9125fffaa Update CHANGES.md 2021-10-09 16:25:25 +02:00
twinaphex bcc7581250 (joypad_connection.c) Cleanups - style nits - comment out some logs
that were generating warnings
2021-10-09 16:19:54 +02:00
twinaphex 107d315559 Bump up version 2021-10-09 16:14:46 +02:00
Soar Qin 39fd4677d9 win32: fix non-ASCII text display in window title (#13089) 2021-10-09 06:28:17 +02:00
jdgleaver a5a9393b26 (.gitlab-ci.yml) Add Miyoo target (#13088) 2021-10-08 14:28:27 +02:00
Salvador 58e7dd8a1a Add Miyoo target (#12860)
* add miyoo target
2021-10-08 13:53:49 +02:00
twinaphex 3d710db798 input_state_wrapper symbol name was causing collisions with certain
cores on statically linked platforms
2021-10-08 12:50:45 +02:00
twinaphex e39bc07e31 Fix implicit declaration 2021-10-08 06:57:37 +02:00
Autechre 00a5b5411f Merge pull request #13081 from gblues/gblues/osx-hid-gca
Get the WIIU GCA working on Mac OSX
2021-10-07 16:23:01 +02:00
Autechre 2e4d135704 Merge pull request #13079 from jdgleaver/api-set-core-option-value
Add enviroment callback to enable cores to notify the frontend that a core option value has changed
2021-10-07 15:18:00 +02:00
Nathan Strong ea249b3827 Get the WIIU GCA working on Mac OSX
== DETAILS
The GCA uses a weird HID class that our current filters don't
catch, so we add it.

Needed to do a small amount of tweaking on the GCA driver to
account for iohidmanager weirdness.
2021-10-06 23:11:22 -07:00
Autechre 3f179a5762 Merge pull request #12632 from Sunderland93/remove-xdg-shell-v6
[Wayland] Remove xdg-shell-v6 protocol
2021-10-07 05:10:53 +02:00
jdgleaver 534f8da487 Add enviroment callback to enable cores to notify the frontend that a core option value has changed 2021-10-06 16:45:14 +01:00
Autechre 54cbeecbb7 Merge pull request #13075 from libretro/move-more-code-to-input-driver
Move more code over to input_driver.c
2021-10-06 12:38:21 +02:00
Autechre a611469f94 Merge pull request #13076 from gblues/gblues/ds3-osx-crash-fix
Fix crash when connecting DS3 to Mac
2021-10-06 09:05:35 +02:00
Nathan Strong 01e96585a3 Fix crash when connecting DS3 to Mac
== DETAILS
The OSX HID driver doesn't implement `set_protocol()` and crashes
with an NPE, so we guard it.
2021-10-05 23:57:09 -07:00
Autechre 6739cf66ca Merge pull request #12572 from john-parton/feature/tinyalsa-opendingux
Enable tinyalsa for the RG350
2021-10-06 07:58:37 +02:00
twinaphex 682d45379c Buildfix 2021-10-06 06:03:33 +02:00
twinaphex 61ee2274e6 Move more code over to input_driver.c - BSV code in particular but
also input state function callbacks - retroarch.c code size reduced
to 874Kb
2021-10-06 05:57:39 +02:00
twinaphex 55bf2b0083 (input/connect) Style nits 2021-10-06 02:52:19 +02:00
twinaphex f81a231481 (joypad_connection) Cleanups - get rid of warning for old-style function
definition
2021-10-06 02:28:55 +02:00
Autechre f242ef6a7c Merge pull request #13073 from gblues/gblues/wiiu-unified-hid
Gblues/wiiu unified hid
2021-10-06 02:25:08 +02:00
twinaphex f4734d223c Another buildfix 2021-10-05 22:57:49 +02:00
Autechre 16b82a05e5 Merge pull request #13071 from IlDucci/ps2restypofix
Fixing a string typo in PR #13068
2021-10-05 22:44:37 +02:00
twinaphex 376b7a622c Fix NGC/Wii builds 2021-10-05 22:18:08 +02:00
Nathan Strong e8ec65ecf7 squelch format warning 2021-10-05 19:05:12 +00:00
Nathan Strong 3e91e3fbc9 fix up non-wiiu side of ifdefs for ds3 2021-10-05 18:15:19 +00:00
Nathan Strong 002c9a30c0 Implement button() for most HID drivers
== DETAILS
The HID drivers in `input/connect/` were missing an implementation
for button(), so I added it. The only exception is the wii driver,
which is really complicated and more than I wanted to try to tackle--
especially since WIIU has its own wiimote drivers.
2021-10-05 17:43:03 +00:00
Nathan Strong e02e345a28 Make GCA driver compatible with other HID drivers
== DETAILS
Use a little trickery to ensure the GCA driver continues working
with other HID implementation.

I've expanded the joypad implementation to support multi-pad devices.
However, this requires changes to each HID implementation to actually
function.

I've made the necessary changes for WIIU, but I don't have the means
of making the change in the other HID implementations.

So, I've built in a backwards-compatibilty mode for the driver.

The trick is to have an identifier byte at the top of both data structs
that the driver returns. We can then use that byte to determine which
of the structs has been passed to the pad functions and act accordingly.

In the GCA case, for non-wiiu platforms, it will simply expose port 1
of the GCA and the other 3 ports do nothing.
2021-10-05 09:47:03 -07:00
IlDucci b46daac334 Adding a missing ending period. 2021-10-05 18:38:22 +02:00
Nathan Strong 2715b4c9c0 get gamecube adapter working 2021-10-05 09:23:08 -07:00
Nathan Strong c832828ddb Figured out the cause of crash
== DETAILS
cause of crash: trying to deference init when it's null
the reason it was going into deregister: the HID/VID lookup was
failing because it wasn't getting initialized first
cause of 2nd crash: the "end of pad list" method looked for an entry
with a magic value, so we add an end marker
2021-10-05 09:23:08 -07:00
Nathan Strong a4d8ce7753 Try to support multi-pad HID devices
== DETAILS
I tried to modify the joypad connection interface to support
multi-pad HID devices ... it doesn't work. I'm not sure why.
2021-10-05 09:23:08 -07:00
Nathan Strong 9846ebb171 enable GCA adapter, minor cleanup
== DETAILS

I'm going to need to re-implement the abstraction between HID device
and gamepad; the changes here lay down some foundation for that work.

- reduce logging priority of some statements I modified while debugging
- factor out the pad driver lookup into its own method
- fix so the pad driver list isn't re-initialized every invocation
- add the button() method for the GCA driver
2021-10-05 09:23:08 -07:00
Nathan Strong 5da1cd08ff Unify the HID driver architecture
== DETAILS
When I first implemented the Wii U HID architecture, I ended up
having to design my own implementation because, at the time, I did
not have a way to read the HID device string to allow the existing
code to successfully detect the gamepad.

After spending some time experimenting, I've figured out how to
do this. And that means I can better align the HID driver with other
platforms.

change summary:

- create a single state structure for all three sub-types of wiiu pads
  (kpad, wpad, and hid)
- eliminate confusing duplicate pad lists
- eliminate confusing duplicate HID pad drivers (ds3, gamecube
  adapter, etc)
- ensure the ds3 driver still works
2021-10-05 09:23:08 -07:00
Nathan Strong 9edb449471 wip commit 2021-10-05 09:10:41 -07:00
IlDucci 41a9c46846 Fixing a string typo in PR #13068 2021-10-05 15:18:19 +02:00
Autechre a264cad19a Merge pull request #13068 from fjtrujy/ps2/change_res
Change Resolution for PS2 platform
2021-10-05 12:42:07 +02:00
Jean-André Santoni e839cf8434 Fix indentation in xmb.c 2021-10-05 11:29:48 +07:00
twinaphex 7e6a56dafc Show Windows 11 version string 2021-10-05 04:37:44 +02:00
Francisco Javier Trujillo Mata bc5a99ae34 Fix available resolution options and improve scaling together with pixel perfect 2021-10-04 23:53:55 +02:00
Francisco Javier Trujillo Mata 52a939bc2f Add ps2sdk folders to vscode config 2021-10-04 23:53:55 +02:00
Francisco Javier Trujillo Mata 9f96723dd0 Adding proper translations for changing resolution 2021-10-04 23:53:55 +02:00
Francisco Javier Trujillo Mata 3bbfcf7b39 Adding to get_video_output_size 2 parameters for additional info 2021-10-04 23:53:55 +02:00
Francisco Javier Trujillo Mata 216675919b Add PS2 Support for changing resolution and offset 2021-10-04 23:53:55 +02:00
Francisco Javier Trujillo Mata c8a46e6e69 Add option for change video windows offsets, from video output 2021-10-04 23:53:54 +02:00
Autechre 69ab4eee7a Merge pull request #13069 from jdgleaver/gitlab-msvc-env
(.gitlab-ci.yml) Remove unnecessary 'env.exe' commands from MSVC builds
2021-10-04 18:46:46 +02:00
jdgleaver e193f92cfd (.gitlab-ci.yml) Remove unnecessary 'env.exe' commands from MSVC builds 2021-10-04 15:53:34 +01:00
Autechre 2c355419bd Merge pull request #13066 from 3rd-fork/master
Remove usage of winrt storage files from uwp version
2021-10-03 23:12:28 +02:00
Autechre 24484e72d2 Merge pull request #13061 from libretro/put-back-scaler-object
Put scaler_ctx back in screenshot_state
2021-10-02 05:18:38 +02:00
twinaphex 6a4a5ae27c Put scaler_ctx back in screenshot_state 2021-10-02 04:19:46 +02:00
Autechre c38479d593 Merge pull request #13059 from IlDucci/translationsupdatewithscript
Fetch translations from Crowdin 01-Oct-2021
2021-10-02 02:26:55 +02:00
IlDucci cd8396edd4 Fetch translations from Crowdin 01-Oct-2021 2021-10-01 23:32:17 +02:00
p-sam 54d2ac9f43 libnx: Splitted Joycons button mapping
- Minus/Plus is always Plus when splitted (JOYPAD_START)
- StickR/StickL is always StickL when splitted (JOYPAD_L3)
2021-10-01 20:18:54 +02:00
Autechre 5a40d28f8f Merge pull request #13055 from libretro/fix-cheevos-regression
Fix Cheevos regression
2021-10-01 19:00:03 +02:00
twinaphex 732c38cc0b Fix Cheevos regression 2021-10-01 16:19:50 +02:00
Tunip3 be7d6832d3 strip out winrt storagefiles 2021-10-01 09:58:17 +01:00
Autechre f5a5a993ff Merge pull request #13054 from libretro/get-rid-of-getters-setters
Get rid of input_event_get_osk_ptr/get_osk_grid
2021-10-01 07:56:11 +02:00
twinaphex fde3406d1b Get rid of input_event_get_osk_ptr/get_osk_grid 2021-10-01 07:37:33 +02:00
Autechre 8807e2957e Input refactors pt3 (#13053)
* Move more internal state over to input_driver.c and menu_driver.c -
retroarch.c now down to 893kb
- Remove now unused p_rarch pointers in functions
2021-10-01 07:18:30 +02:00
Autechre bd76388fc5 Merge pull request #13048 from 3rd-fork/master
Make uwp vfs file implementation more like win32
2021-10-01 01:26:18 +02:00
Autechre 5d71138fd8 Merge pull request #13052 from libretro/input-refactors-pt2
Input refactors pt2
2021-10-01 01:25:40 +02:00
twinaphex b674b5362d Small cleanup - this macro is no longer used 2021-10-01 00:44:47 +02:00
twinaphex e9a4e811ac Move more code and variables from rarch_state out to input_driver
and menu_driver
2021-10-01 00:41:50 +02:00
Autechre 2d279df6e4 Merge pull request #13049 from libretro/input-refactor
Input refactor
2021-09-30 23:55:15 +02:00
twinaphex b4f09f7a55 Fix some header includes 2021-09-30 23:31:54 +02:00
twinaphex 49fbed2423 Get rid of input_mouse_grabbed - move retroarch types to
retroarch_types.h
2021-09-30 23:22:50 +02:00
twinaphex 878ad88e5b Buildfix 2021-09-30 21:34:36 +02:00
twinaphex 12c81bc073 Replace input_state_get_ptr call 2021-09-30 21:31:37 +02:00
twinaphex dbe414e1e1 move input_poll_overlay to input_driver.c 2021-09-30 21:29:35 +02:00
twinaphex ddceb51f89 Get rid of some needless getters/setters 2021-09-30 21:10:12 +02:00
twinaphex ef875f6102 Create input_state_get_ptr - move to input_driver.c -
also moved over the functions that had a dependence on this
state - retroarch.c reduced to 979kb now
2021-09-30 20:54:56 +02:00
Tunip3 d85919d0e3 delete functions that were commented out 2021-09-30 18:59:20 +01:00
Autechre 076440987b Merge pull request #13047 from libretro/fix-blargg-warning
Fix blargg warning + some cleanups
2021-09-30 19:30:19 +02:00
Autechre db6af919fb Merge pull request #13046 from libretro/gfx-thumb-move-state
Refactor - move gfx_thumb_state to gfx_thumbnail.c
2021-09-30 18:32:44 +02:00
twinaphex 689487dbee Fix blargg warning + some cleanups 2021-09-30 18:20:29 +02:00
twinaphex e13073c411 move gfx_thumb_state to gfx_thumbnail.c 2021-09-30 18:05:00 +02:00
Autechre 6a152f8917 Merge pull request #13045 from libretro/core-backup-warning
Fix warning in core_backup.c
2021-09-30 17:57:39 +02:00
Autechre 1d2a2adb61 Merge pull request #13044 from libretro/disp_refactors
Gfx_display refactors
2021-09-30 17:42:09 +02:00
twinaphex a0955d4fa6 Fix potentially bad regression - would crash on any platform where unsigned long is more than 32 bits (not sure if any platform has this, however) 2021-09-30 17:19:38 +02:00
twinaphex b1410c72e5 - Move disp_get_ptr to gfx_display.c
- Move menu_driver_init to menu_driver.c, and turn
menu_driver_init_internal into static function
2021-09-30 17:14:26 +02:00
Autechre d819251ffd Merge pull request #13043 from libretro/refactors
Refactors - moves dispwidget_get_ptr to gfx_widgets
2021-09-30 16:49:52 +02:00
twinaphex d39ea61109 Add HAVE_SCREENSHOTS ifdef 2021-09-30 15:55:31 +02:00
twinaphex b07d80efe1 gfx_widgets.h - add RETRO_BEGIN_DECLS/RETRO_END_DECLS 2021-09-30 15:29:57 +02:00
twinaphex 5ba8843354 Move dispwidget_get_ptr over to gfx_widgets.c 2021-09-30 04:40:15 +02:00
twinaphex 0e9b2179af move scaler object out of screenshot_task_state 2021-09-30 02:19:16 +02:00
twinaphex efe34f52af (gl_common.c) Add HAVE_CONFIG_H 2021-09-29 17:48:58 +02:00
twinaphex b5190b3662 Add glsym/glsym.h header for gl_common.c 2021-09-28 16:28:56 +02:00
twinaphex cc2fea4c85 (MSVC2019/D3D9) D3D9 works now - HAVE_HLSL and HAVE_D3DX both set now 2021-09-28 15:50:15 +02:00
twinaphex 4f8ca90dd0 Move code over to gfx/video_driver.c 2021-09-28 15:29:05 +02:00
twinaphex 0364a277e4 Fix function declaration 2021-09-28 15:22:33 +02:00
twinaphex 4c419466e6 Cleanups 2021-09-28 15:19:08 +02:00
twinaphex 9bb2359a86 More naming consistency changes - take 'retroarch_' prefix out of
functions that don't touch p_rarch state
2021-09-28 13:48:49 +02:00
twinaphex f90809d754 Move data out of retroarch_data.h and into retroarch.c 2021-09-28 13:02:14 +02:00
twinaphex e886e908d5 Create consistent naming conventions - use retroarch_ instead
of rarch_ for some functions for all functions coming from retroarch.h
2021-09-28 12:56:10 +02:00
twinaphex e4bec6739c Move code over to menu_driver.c 2021-09-28 12:07:29 +02:00
twinaphex 8ef9065c86 Get rid of menu_driver_is_alive - we don't want these one/two-line getters/setters anymore 2021-09-28 10:27:00 +02:00
twinaphex e31fbb8048 Move menu_driver_alive to menu_state 2021-09-28 10:11:13 +02:00
twinaphex 1e29ba3cd6 Move menu_driver_is_binding to menu_state 2021-09-28 09:52:46 +02:00
twinaphex 9e26012751 Move menu_driver_init_internal to menu_driver.c 2021-09-28 09:32:11 +02:00
twinaphex 9727be4de6 Cleanup 2021-09-28 04:03:15 +02:00
twinaphex 6a72403f0f (MSVC) Define HAVE_D3DX when HAVE_HLSL is defined 2021-09-28 03:37:08 +02:00
twinaphex 774dccca7c Move more code over to gfx/video_driver.c 2021-09-28 02:15:11 +02:00
twinaphex 3dee62ce62 Cleanups and buildfix 2021-09-28 01:16:53 +02:00
twinaphex 05e4aa8bfb move more code over to gfx/video_driver.c 2021-09-28 00:50:48 +02:00
twinaphex 4574a58683 (video_driver.c) Move some code over 2021-09-27 20:31:31 +02:00
twinaphex 0448afab96 Move video driver functions over to gfx/video_driver.c 2021-09-27 19:37:22 +02:00
twinaphex c3afd4b1a5 Buildfix for Emscripten 2021-09-26 23:07:51 +02:00
twinaphex e8dbcd4600 Fix griffin_cpp.cpp 2021-09-26 22:59:32 +02:00
twinaphex 31eaeb1a03 Create gl_flush 2021-09-26 22:28:28 +02:00
twinaphex 422e940bc4 Fix gl_common.h 2021-09-26 22:22:20 +02:00
twinaphex d4af68d2dd Add glsym/rglgen.h for x_ctx.c 2021-09-26 22:16:18 +02:00
twinaphex 76db3e02cf Create gl_clear 2021-09-26 22:10:53 +02:00
twinaphex 4aafbf2340 Create gl_common.c/gl_common.h 2021-09-26 19:57:08 +02:00
twinaphex 4b5951bda3 Rename gl_common.h to gl2_common.h and remove some file dependencies
on it
2021-09-26 17:42:12 +02:00
twinaphex 6f36e0a2dd Rename GL driver files + add some comments to D3D drivers - gl_core
becomes gl3, gl becomes gl2, etc
2021-09-26 14:16:09 +02:00
twinaphex 2a4862ad8d Rename mimpapgen_sm5.h to mipmapgen_sm5.h 2021-09-26 13:30:50 +02:00
twinaphex 8fa1f998c5 Move d3d9 headers to gfx/include/d3d9 2021-09-26 12:49:53 +02:00
twinaphex 0e21365be1 (MSVC) Add HAVE_HLSL to MSVC targets 2021-09-26 12:30:27 +02:00
twinaphex bbbc4452d7 (MSVC 2010) Add HAVE_HLSL 2021-09-26 09:48:57 +02:00
twinaphex ee97c2066a Make sure this is no longer a function behind a ifdef - too much
maintenance chores
2021-09-26 02:47:43 +02:00
twinaphex 89968333a4 Attempt to fix Mac build 2021-09-26 02:38:57 +02:00
Autechre 12540d750d Merge pull request #13037 from gblues/gblues/wiiu-fix-warnings
WIIU: Clean up a bunch of compiler warnings
2021-09-26 00:57:02 +02:00
MajorPainTheCactus e08cc6e260 Fixed up the d3d9 driver (#13038)
* Fixed d3d9 mvp matrix issue

* Fixed up the d3d9 driver to display the game now
2021-09-26 00:19:45 +02:00
Nathan Strong fb86ca6e33 Fix the snprintf warnings for everyone this time
== DETAILS
So, basically this back-and-forth is because we used fixed-size
data types (i.e. `uint32_t`) which maps to different primitive data
types on different platforms. So `uint32_t` might be a `long` on some
platforms (e.g. Wii U), while it's just a plain integer on others (PC).
And the format specifier works off primitive data type, not data type
size.

So, to resolve this, we:

- keep `%lx` as the format specifier
- cast the parameter to printf to unsigned long

This is better than the alternatives that could cause problems trying to
cast a long down to an int.
2021-09-25 15:08:34 -07:00
Nathan Strong a3241aa9b2 fix missing semicolon 2021-09-25 14:03:29 -07:00
Nathan Strong 9b2d4236ad WIIU: Clean up a bunch of compiler warnings
== DETAILS
These changes fall into a few broad categories:

1. Explicitly undefine things we want to re-define due to conflicts with
   the version of devkitpro we're using
2. Clean up hex format specifiers to use `%lx` or `%lX` when working with
   long integers
3. Move variables inside the ifdef they're used in to squelch "unused variable"
   messages
4. Add parenthesis to make Wii U shader declarations stop complaining

And then there's a weird "misleading indent" warning that I fixed by just
rewriting a block of code to use a switch statement instead of if-then-else.

These changes work fine on Wii U, but we'll need to keep an eye on CI/CD to see
if other platform builds break.
2021-09-25 13:25:39 -07:00
Tunip3 9d25ba7ac5 reimplent vfs files without using storagefile 2021-09-25 17:44:25 +01:00
Ömercan Kömür 714cfc581d android launcher logo (#13035)
This will fill the corners on the homescreen
2021-09-25 11:39:44 +02:00
grant2258andgrant2258 a327fdb6fe add mouse relative check and set appropiatley to fix issue (#12994)
* re add this after failed rebase

* update

* temp fix for device friendly naming as it is for testing

* add device friendly names in the appropiate place

* add/remove hotplug dev to ra input mouse port list

Co-authored-by: grant2258 <[email protected]>
2021-09-24 18:31:20 +02:00
Ben Hamilton (Ben Gertzfield) 1970786932 New feature: Use gamepad combo to quit Retroarch (#13017)
* Refactor menu toggle combo button logic to allow quit combo button

* Quit gamepad combo

* Fixes from @jdgleaver
2021-09-24 18:30:46 +02:00
jdgleaver 50bb7afa9d (.gitlab-ci.yml) Detect MSVC build errors 2021-09-24 12:39:20 +02:00
jdgleaver f52fbd32a0 (libretro-common/file_stream) Restore missing filestream_scanf() function 2021-09-24 12:12:52 +02:00
markwkidd 7b020f4cc5 correct vscode gitignore typo (#13029) 2021-09-23 18:40:26 +02:00
M4xw 6cadd47679 Lets not expect every vscode user on windows to use msys
They can change it locally
2021-09-23 13:45:22 +02:00
M4xw 931eb3221b [LIBNX] Fix Split Joycon 2021-09-23 13:45:22 +02:00
twinaphex 1ff024be26 Don't do rotate_z call for every draw_texture_slice call 2021-09-21 21:38:07 +02:00
twinaphex ecdf20ea49 Remove unused gfx_display_draw_polygon 2021-09-21 21:13:46 +02:00
twinaphex 6eeebeab25 Get rid of gfx_display_set_msg_force 2021-09-21 21:10:38 +02:00
twinaphex 522dd72bd0 Try to silence libnx warning (-Wstringop-overflow) 2021-09-21 19:20:21 +02:00
twinaphex 83ce4259a0 Have only one getter for runloop_state 2021-09-21 19:08:26 +02:00
twinaphex 550d3fa766 Create new header runloop.h 2021-09-21 18:38:53 +02:00
twinaphex f21641d898 Get rid of another 'getter' function 2021-09-21 18:30:56 +02:00
twinaphex 1b7dea7e8e Move code over to menu_driver.c 2021-09-21 18:14:01 +02:00
twinaphex c42f932c3f Moved code over to menu_driver.c 2021-09-21 18:04:48 +02:00
twinaphex 33f075191d Silence warning for libnx 2021-09-21 17:53:50 +02:00
twinaphex a950bfbe3e remove unused variable 2021-09-21 17:38:07 +02:00
twinaphex f11f892076 Put retroarch_apply_shader_preset behind ifdef 2021-09-21 17:31:51 +02:00
jdgleaver 6c5e17e5ae Fix file_stream_transforms:rfscanf() (#13023) 2021-09-21 17:04:34 +02:00
twinaphex b87bc46064 Add missing header for Android 2021-09-21 17:00:58 +02:00
twinaphex 7c8c53fb2d Get rid of menu_driver_get_ptr - we are going to be using only one
getter for each component state instead of several getters
2021-09-21 07:14:27 +02:00
twinaphex 44012ace47 move more menu state over to menu_driver.c 2021-09-21 06:05:25 +02:00
twinaphex 28e0b669d2 (menu) move more state over 2021-09-21 05:44:53 +02:00
twinaphex 58bc88d433 Move menu_driver_state over to menu_driver.c and move it out of
p_rarch
2021-09-21 05:33:46 +02:00
twinaphex 30353ac8f2 move more code out of retroarch.c/retroarch_data.h and into
menu_driver.c
2021-09-21 05:11:39 +02:00
twinaphex d68a138250 Move more menu state to menu_state_t - and move code from
retroarch.c to menu_driver.c
2021-09-21 04:51:38 +02:00
twinaphex c4b8fab0d0 Move menu_input_state to menu_state 2021-09-21 04:20:04 +02:00
twinaphex beea0e2c8d Fix header include 2021-09-21 00:52:05 +02:00
twinaphex f3b2e233bb Move more code to menu_driver.c 2021-09-21 00:51:15 +02:00
twinaphex abebf4a421 Cleanups 2021-09-21 00:41:52 +02:00
twinaphex ec55f8188a Move code out of retroarch.c and into menu/menu_driver.c 2021-09-21 00:12:26 +02:00
twinaphex e2e236f1bf Create menu_state_get_ptr() 2021-09-21 00:00:50 +02:00
twinaphex 94b5769375 Cleanups 2021-09-20 21:21:54 +02:00
twinaphex d2af43d457 Cleanups 2021-09-20 21:08:53 +02:00
twinaphex 295aa84a9e Cleanups 2021-09-20 20:43:05 +02:00
twinaphex fabdede667 Move anim_get_ptr to gfx_animation.c 2021-09-20 20:17:53 +02:00
twinaphex c412ecf7e9 Buildfix 2021-09-20 15:54:07 +02:00
twinaphex fa00455af1 Address feedback 2021-09-20 15:43:57 +02:00
Autechre cbfa8d6400 Move coreinfo_get_ptr internal state back to core_info.c (#13020) 2021-09-20 15:43:27 +02:00
twinaphex f587d28a0d Buildfix 2021-09-20 08:09:43 +02:00
twinaphex 9b5a60af53 Move location driver code to separate file 2021-09-20 06:26:14 +02:00
twinaphex 238eb649a2 Split up midi_driver code to midi_driver.c 2021-09-20 03:43:37 +02:00
twinaphex 5eb795bf5b (widgets) Get rid of dead code 2021-09-20 02:21:05 +02:00
Autechre ebe0d89de2 Update CHANGES.md 2021-09-19 05:35:20 +02:00
Autechre a64fa9c8d7 Update CHANGES.md 2021-09-19 05:24:24 +02:00
twinaphex d11ffdbb6b Bump version 2021-09-19 05:19:36 +02:00
Autechre b71d34068b Update CHANGES.md 2021-09-19 05:12:15 +02:00
gblues ae617c0ee6 Update some Wii U development metadata (#13013)
== DETAILS
- add a `WiiU` IntelliSense configuration for vscode
- rewrite the `net_listen.sh` script in python because the
  shell script approach just isn't portable enough and doesn't handle
  things like multiple network adapters gracefully at all.
2021-09-19 01:22:59 +02:00
twinaphex b3d724b7a3 Move code out of retroarch.c 2021-09-18 22:05:03 +02:00
twinaphex eb895f9947 move more code out of retroarch.c 2021-09-18 21:14:15 +02:00
twinaphex 1c546cb7fd move more code out of retroarch.c 2021-09-18 21:03:16 +02:00
twinaphex db3f0a8468 Move code out of retroarch.c - move it into
network/netplay/netplay_frontend.c
2021-09-18 06:15:02 +02:00
twinaphex 7c74e035b0 Small cleanups 2021-09-18 06:15:02 +02:00
Víctor "IlDucci 226f5fb456 Fetch translations from Crowdin 17-Sep-2021 (#13007) 2021-09-17 20:23:02 +02:00
tunip3andTunip3 895676430f make dir stuff more like the normal win32 stuff (#13006)
Co-authored-by: Tunip3 <[email protected]>
2021-09-17 17:41:56 +02:00
jdgleaver 0a5bb29c43 (libnx) Enable video filters (#13004) 2021-09-17 14:27:37 +02:00
jdgleaver bae6f8e097 (vfs_implementation.c) Place 'memmap.h' include behind '#if defined(HAVE_MMAP)' guard (#13003) 2021-09-17 14:25:44 +02:00
Autechre 62a66ff0e5 Prevent crash pointed out by LIJI - primary_joypad can be NULL (#13002) 2021-09-17 05:20:09 +02:00
Michael Burgardt d8db234df0 Concatinate some previously truncated strings for easier translation (#12120) 2021-09-16 19:00:14 +02:00
twinaphex 251bfdb302 Buildfix for prior PR 2021-09-16 01:15:36 +02:00
Tony 5aafe9eb0c Add distinct mouse zero index label for drivers that do not support multimouse (#13000) 2021-09-16 01:08:03 +02:00
Mats 6a59dad08c Add compile option to make unix use cwd as env (#12989)
Setting UNIX_CWD_ENV to 1 when compiling with the unix platform will make
the base path for the env the cwd. This is to be able to match the behavior on
Windows.
2021-09-15 21:48:11 +02:00
tunip3andTunip3 249e24fbe7 fix issues where provided paths could sometimes contain a double slash, this would cause issues as path formatting was disabled (#12999)
Co-authored-by: Tunip3 <[email protected]>
2021-09-15 21:44:58 +02:00
MrHuu 70376abe1b (3DS) Add unique ID's (#12996)
add gearboy
add gearcoleco
add gearsystem
2021-09-15 20:21:12 +02:00
jdgleaver 5b13047623 Add 'Picoscale_256x-320x240' video filter (#12997) 2021-09-15 20:20:56 +02:00
gblues 78858a9474 Fix analog inputs on HID devices (#12991)
== DETAILS

File this one under "I'm not sure how this ever worked."

I mean, it did (in 1.8.8). I'm not sure what changed, but ultimately what I did was
a bunch of comparative testing against 1.8.8:

- I confirmed the packet data was still being read successfully
- I confirmed that the axis value being passed into pad->get_axis() had
  not changed
- I confirmed the work done in `gamepad_read_axis_data()` was working the same
  between 1.8.8 and master

With the only difference between 1.8.8 and current being the return value from
`gamepad_read_axis_data()`, I just rewrote the method to work properly, and
also fixed up the default axis mapping.

I tested this with a sixaxis controller and GCA, configuring the analog-to-digital
control override to use the right stick.
2021-09-15 03:30:05 +02:00
MajorPainTheCactus 0e9f246b30 Fixed d3d9 mvp matrix issue (#12984) 2021-09-15 01:17:56 +02:00
jdgleaver 516dcb34d9 (Audio Mixer) Pad sample buffers to prevent potential heap-buffer-overflows when resampling (fixes crash when using 30 kHz menu audio files) (#12987) 2021-09-15 01:17:45 +02:00
twinaphex 868a4bf3fc Fix some warnings; set gfx_white_texture to 0 in deinit function at the
end
2021-09-13 20:52:57 +02:00
twinaphex 90775e7306 Silence warnings/errors 2021-09-13 20:30:22 +02:00
twinaphex 5e4ce74000 Get rid of duplicate code in gfx_widgets -
gfx_display_get_widget_dpi_scale made redundant
2021-09-13 20:21:36 +02:00
twinaphex 490233f3c5 wite_texture is now a static global variable inside gfx_display.c
- no longer referenced outside
2021-09-13 19:55:53 +02:00
twinaphex fe14274b96 Get rid of referencing of gfx_display_white_texture outside 2021-09-13 19:20:43 +02:00
twinaphex fc4d4c53cd Cleanup some references to gfx_display_white_texture and
don't assume NULL == 0 for uintptr_t
2021-09-13 19:07:09 +02:00
twinaphex 3c69a941da Move code over to input_driver.c 2021-09-13 18:33:53 +02:00
twinaphex 2b08ebb677 Cleanups 2021-09-13 18:09:44 +02:00
jdgleaver 12f787547c Add workaround to fix keyboard input when using x11+udev (#12981) 2021-09-13 18:02:40 +02:00
MajorPainTheCactusandtwinaphex 3c6bdfd0d8 Fixed numerous issues with HDR (#12979)
* Fix for warning and fix for incorrect comment

* Fixed contrast to be more correct - now scales from 0-10 linearly and behaves more the way you'd expect it to - changed name to ditch legacy settings users may have
Added ability to skip inverse tonemapper to the shader via the constant buffer using 'inverse_tonemap' - set to 0.0f to skip
Fixed potential bug when swapping between hdr and sdr and the bit depth not being set correctly
Fixed dx11's blend, rasterizer and topology states not being set to the sames when using hdr and leaving the menu - caused issues with PCSX2's Shadow of the Colossus
Added numerous helper functions to help create the correct values to colour the UI - normally the white UI elements should be rendered at paper white not max brightness for various reasons

* Fix stylistic issues - * Don't use camelcase for variables and function names * Use '(void)' for function declarations instead of () in C code * Declare variables at the top of a function or code block * Make sure functions that return a value always have a default return path that is not encapsulated by an else block * Use more unique names for retro_math functions which are less likely to overlap with other libraries' function symbols

Co-authored-by: twinaphex <[email protected]>
2021-09-13 16:54:50 +02:00
Autechre e24440d4a9 Merge pull request #12976 from grant2258/mouse_index
this function is called more than once dont use static
2021-09-13 11:44:28 +02:00
Autechre ed6f33b173 Merge pull request #12978 from 3rd-fork/master
Fix issues when opening file with extra long path name
2021-09-13 00:00:03 +02:00
grant2258 88b15c1b1d this function is called more than once dont use static 2021-09-12 20:58:49 +01:00
Tunip3 2991e82575 fix issue where it would fail to get a handle for a file as the path was too long 2021-09-12 20:26:09 +01:00
twinaphex ad4b51b903 Move cde from retroarch.c to input_driver.c 2021-09-12 19:27:12 +02:00
twinaphex b5138b6122 Move input_config_get_bind_string to input_driver.c 2021-09-12 17:41:00 +02:00
twinaphex ad39b1d115 Simplify osk_update_last_codepoint() 2021-09-12 17:36:22 +02:00
twinaphex 3d303a63df (Ozone) Reduce rotate_z calls 2021-09-12 17:14:03 +02:00
twinaphex c3cd3b34b0 (XMB) Reduce amount of times we call blend_begin/blend_end and
rotate_z
2021-09-12 17:06:59 +02:00
twinaphex 26b9439dbc C89_BUILD buildfix 2021-09-12 16:50:46 +02:00
Autechre cfcd0a7a0d Merge pull request #12795 from sonninnos/video-rate-switch
Automatic PAL/NTSC refresh rate switch where available
2021-09-12 16:15:04 +02:00
twinaphex 1b8d68c6e4 Another buildfix 2021-09-11 18:36:12 +02:00
twinaphex c4cbcb2ff4 Add ifdef around this 2021-09-11 18:22:07 +02:00
twinaphex 2490f6e215 Move code from retroarch.c to video_shader_parse.c 2021-09-11 18:15:35 +02:00
twinaphex f09be107c6 Cleanup some extra ifdefs 2021-09-11 17:56:44 +02:00
Autechre 589c72d9a8 Merge pull request #12966 from IlDucci/doublebeforefix
Fixing a typo at MENU_ENUM_SUBLABEL_MANUAL_CONTENT_SCAN_VALIDATE_ENTRIES
2021-09-11 12:57:25 +02:00
IlDucci 08f75ab195 Fixing a typo at MENU_ENUM_SUBLABEL_MANUAL_CONTENT_SCAN_VALIDATE_ENTRIES 2021-09-10 17:11:55 +02:00
Autechre dcf77c4d1e Merge pull request #12821 from markwkidd/config_h
standardize include paths for config.h
2021-09-10 16:59:15 +02:00
Autechre 27bd9868d7 Merge pull request #12963 from jdgleaver/playlist-refresh
(Playlist Manager) Add 'Refresh Playlist' option
2021-09-09 18:44:42 +02:00
Autechre f34c8865ee Merge pull request #12815 from markwkidd/vscode-fix
[VS Code IDE] set .h file association and add vscode configuration to gitignore
2021-09-09 18:44:09 +02:00
Autechre 84174598a4 Merge pull request #12858 from sonninnos/authors-script
Update AUTHORS.h and script
2021-09-09 18:35:26 +02:00
twinaphex c75bb549e5 Move another function over to menu_driver.c 2021-09-09 17:26:59 +02:00
twinaphex 4830150d22 Move function out of retroarch.c and into menu_driver.c 2021-09-09 17:21:48 +02:00
jdgleaver 6da778b934 (Playlist Manager) Add 'Refresh Playlist' option 2021-09-09 16:18:26 +01:00
twinaphex 8564b4f8e3 Fix compilation problem when HAVE_BSV_MOVIE is not defined 2021-09-09 16:58:52 +02:00
twinaphex 6a310ecfed Move more code to command.c 2021-09-09 16:55:14 +02:00
twinaphex 14cd338b97 Move code from retroarch.c to command.c 2021-09-09 16:31:35 +02:00
twinaphex 9b8145f05d Cleanups 2021-09-09 16:06:57 +02:00
twinaphex a11b1c3b72 (retroarch.c) Cleanups 2021-09-09 16:01:33 +02:00
twinaphex 772282eeec Move menu shader code over to menu_driver.c 2021-09-09 15:33:17 +02:00
twinaphex 28389d30e8 Move some code from retroarch.c over to menu_driver.c 2021-09-09 15:22:12 +02:00
twinaphex 6c79cebc6e Move input_overlay_auto_rotate_ out of retroarch.c and into
input_driver.c
2021-09-09 14:24:42 +02:00
twinaphex 81e7dab159 Move code out of retroarch.c and into input_driver.c 2021-09-09 14:11:46 +02:00
Autechre 49cce025c7 Merge pull request #12952 from DisasterMo/rumble
Rebase 'Add generic rumble gain to input settings' by davidgfnet
2021-09-09 13:52:00 +02:00
Autechre ace9267c7b Merge pull request #12960 from Jamiras/cheevos_cfg_overrides
(cheevos) don't write achievement credentials to overrides
2021-09-09 09:32:56 +02:00
Michael Burgardt 303d17e2e6 Rebase 'Add generic rumble gain to input settings' by davidgfnet 2021-09-08 19:52:32 +02:00
Jamiras f0a3ee6003 don't write achievement credentials to overrides 2021-09-08 11:34:19 -06:00
Jamiras 8a31b732dd disable slowmotion when enabling hardcore mode (#12958) 2021-09-08 18:57:19 +02:00
Tony 51b365b5e3 New regular widget message appearance (#12851) 2021-09-08 18:14:41 +02:00
bulzipke 8018be5c9b Fix ram states to file when core deinit (#12956)
* Fix ram states to file when core deinit

* Fix unterminated state_path
Call CMD_EVENT_RAM_STATE_TO_FILE when CMD_EVENT_UNLOAD_CORE too
2021-09-08 18:01:07 +02:00
twinaphex c9e587a5a7 Move more input code over to input_driver.c from retroarch.c 2021-09-07 14:55:37 +02:00
twinaphex ccbbf45760 retroarch.c - cleanups 2021-09-07 13:55:42 +02:00
twinaphex 276b4fd72c Move more code over from retroarch.c to input_driver.c 2021-09-07 13:08:31 +02:00
twinaphex 67defbcf26 Transfer code over from retroarch.c to input_driver.c 2021-09-07 12:42:03 +02:00
twinaphex 5b1872f6be retroarch.c - some cleanups - retroarch_set_frame_limit - return
value - other cleanups
2021-09-07 12:29:44 +02:00
twinaphex 10782f9abc Cleanups - move code over to menu_driver.c 2021-09-07 11:55:12 +02:00
twinaphex 3a78b46862 Move code to input_driver.c 2021-09-07 10:17:06 +02:00
twinaphex 138afafbb3 generic_menu_entry_action - cleanup 2021-09-07 08:35:27 +02:00
twinaphex 71067d8873 Preinitialize varaibles in video_driver_translate_coord_viewport 2021-09-07 08:11:32 +02:00
twinaphex a0856c9847 Move another function to menu_driver.c 2021-09-07 07:14:27 +02:00
twinaphex 722166cb15 Move functions from retroarch.c to input_driver.c 2021-09-07 07:11:42 +02:00
twinaphex 7c665702a8 Move input_driver_toggle_button_combo to input_driver.c 2021-09-07 06:50:18 +02:00
jdgleaver 1151504fa9 (OpenDingux Beta) Disable OpenAL + minor compilation flag optimisation (#12948) 2021-09-06 16:11:44 +02:00
tunip3andTunip3 5ae7bc2ce2 use findfirst file and manually get all items in a dir to reduce errors and increase access (#12947)
Co-authored-by: Tunip3 <[email protected]>
2021-09-06 14:27:49 +02:00
MrHuu 07600392df (3DS) Add bottom screen idle state (#12942) 2021-09-06 01:16:16 +02:00
MajorPainTheCactus 0ac542f1db Fix for warning and fix for incorrect comment (#12944) 2021-09-06 01:16:01 +02:00
Autechre 36888612eb Reduce gfx_display_rotate_z calls in menu drivers (#12937)
* (Ozone) Take out gfx_display_rotate_z out of ozone_draw_icon -
lots of matrix rotates and multiplies were happening when
just calling it once would suffice

* (MaterialUI) Reduce calls to gfx_display_rotate_z

* (XMB) Cleanup
2021-09-05 03:46:52 +02:00
twinaphex f597138827 Cleanups 2021-09-04 21:40:37 +02:00
twinaphex 623e09dc47 Fix wording 2021-09-04 21:38:33 +02:00
twinaphex b05a0d5aed * Enable HDR for WinRT/UWP (only works on PC UWP for now, won't work on Xbox yet swapchain
issues with both D3D11/12)
* Add sublabel for Expand Gamut
*
2021-09-04 21:36:48 +02:00
MajorPainTheCactusandAutechre 536d18778b Fixed up HDR for UWP/WinRT builds (#12936)
Fixed D3D11 validation warnings
Fixed up technically incorrect labels

Co-authored-by: Autechre <[email protected]>
2021-09-04 21:13:24 +02:00
twinaphex 28d1788e1e (HDR) Add sublabels 2021-09-04 19:59:16 +02:00
Víctor "IlDucci 017f9f8939 Fetch translations from Crowdin 04-Sep-2021 (#12934) 2021-09-04 17:43:20 +02:00
Víctor "IlDucci 916ebb98e7 Fixing a couple of minor typos related to the HDR PR. (#12935) 2021-09-04 17:43:11 +02:00
twinaphex 85c0607696 Add to CHANGES.md 2021-09-04 10:32:43 +02:00
twinaphex 43838dc4ea Bump version 2021-09-04 10:30:46 +02:00
twinaphex f905012376 Simplify float_to_s16/s16_to_float functions for ARM NEON ASM codepath 2021-09-04 00:39:49 +02:00
twinaphex 6d1c0e96a3 Simplify sinc NEON code 2021-09-04 00:35:45 +02:00
Autechre 9a5f4602cc Add intrinsic NEON versions for float_to_s16/s16_to_float (#12933)
* Add intrinsic NEON versions for float_to_s16/s16_to_float courtesy
of davidgfnet

* Define -DDONT_WANT_ARM_OPTIMIZATIONS for resampler sinc - this should
default to intrinsic versions

* Default to ARM NEON intrinsic codepath and make the ASM codepaths
optional by defining HAVE_ARM_NEON_ASM_OPTIMIZATIONS

* (Pkg/apple/Android) Take out ASM files being compiled in
2021-09-04 00:25:21 +02:00
twinaphex 19f4504943 Prevent collision with quasi88 in statically linked cores 2021-09-03 21:29:38 +02:00
bulzipke 8adc24ecbc (3DS) Add bottom screen menu (#12470)
* (3DS) Add bottom screen menu
 -> User can save/load state on botom screen with thumbnail.
 -> Call a save_state_to_file() when RAM state has data to write a disk.
 -> If the bottom screen needs updating, swap the bottom framebuffers.

Add: SAVE/LODE STATE TO RAM
 -> This is useful for devices with slow I/O
 -> 3DS bottom save state use CMD_EVENT_SAVE_STATE_TO_RAM
 -> 3DS bottom load state use CMD_EVENT_LOAD_STATE when RAM state has no data
 -> 3DS bottom load state use CMD_EVENT_LOAD_STATE_FROM_RAM when RAM sate has data

* Rewrite path_get_state to retroarch_get_current_savestate_path

* Fix unterminated state_path
2021-09-03 18:14:03 +02:00
Autechre 51dcad6cb3 Merge pull request #12932 from jdgleaver/cheat-search
Add enhanced search functionality to the 'Cheats' menu
2021-09-03 17:03:58 +02:00
Autechre 204834f88e Merge pull request #12927 from 3rd-fork/master
code clean up and simplification of uwp vfs driver
2021-09-03 17:03:34 +02:00
Autechre e39784189e Merge pull request #12772 from DisasterMo/core_option_translation
New example_translation core options sample
2021-09-03 16:59:42 +02:00
Autechre 87b40b7c57 Merge pull request #12930 from bslenul/master
Update menu toggle combo list in retroarch.cfg
2021-09-03 16:49:13 +02:00
Autechre 588c1305c8 Merge pull request #12931 from jdgleaver/runahead-cheats
Fix cheats when using second instance runahead
2021-09-03 16:48:30 +02:00
jdgleaver 508b0c2ee2 Add enhanced search functionality to the 'Cheats' menu 2021-09-03 14:58:33 +01:00
jdgleaver 743aea1810 Fix cheats when using second instance runahead 2021-09-03 11:27:12 +01:00
bslenul 76f114a9fe Update menu toggle combo list 2021-09-03 12:10:05 +02:00
twinaphex 274638b89e (D3D11) Look at D3D11 feature level - if we are 11.0 or above,
we use Shader Model 5.0 instead of the default SM 4.0 - this fixes
FSR on D3D11 which requires SM5.0
2021-09-03 07:51:44 +02:00
twinaphex b900555494 (D3D11) Add logging after device creation so we can see which
feature level it used
2021-09-03 07:15:53 +02:00
twinaphex a0e4d64c3b menu_bind_state struct definitions need to be moved over to menu_input.h 2021-09-03 06:48:06 +02:00
twinaphex 93dbd746db (Android) Buildfix 2021-09-03 06:31:40 +02:00
Autechre 7b9cbc08d7 Add HDR support for D3D12 (rebased PR from MajorPainTheCactus) (#12917)
* Add HDR support

* Attempt to fix Mingw build and Metal builds

* (D3D12) Fix relative header includes

* Add missing hdr_sm5.hlsl.h

* (d3d12_common.c) Some C89 build fixes

* Fix MSVC build

* - Attempt to fix build on mingw/msys unix with dirty hack
- Fix shader compilation of hdr_sm5.hlsl.h on MSVC/Visual Studio -
the define was seen as an error and was causing the first pipeline
to error out
- Make sure we manually set handle of backBuffer to NULL

* Moving the release of the texture above the freeing of desc.srv_heap
and desc.rtv_heap solves the hard crashes on teardown/setup in RA -
it was crashing hard in d3d12_release_texture before

* Add HAVE_D3D12_HDR ifdef - needs to be disabled for WinRT for now
because of several things that are Windows desktop-specific right now
(GetWindowRect)

* Add dirty GUID hack - should work for both mingw/msys on Windows/Linux
as well as MSVC/Visual Studio (hopefully)

* Change HAVE_D3D12_HDR to HAVE_DXGI_HDR

* Move away from camelcase named variables

* Fix RARCH_ERR logs - they need a newline at the end

* d3d12_check_display_hdr_support - make it return a bool on return
and set d3d12->hdr.support and d3d12->hdr.enable outside of the
function

* (DXGI) Remove D3D12 dependencies from dxgi_check_display_hdr_support and
move it to dxgi_common.c instead

* (DXGI) move d3d12_swapchain_color_space over to dxgi_common.c and
rename it dxgi_swapchain_color_space

* (DXGI) move d3d12_set_hdr_metadata to dxgi_common.c and
rename it dxgi_set_hdr_metadata

* (DXGI) dxgi_check_display_hdr_support - better error handling?

* Fix typo

* Remove video_force_resolution

* (D3D12) Address TODO/FIXME

* (D3D12) Backport
https://github.com/libretro/RetroArch/pull/12916/commits/c1b6c0bff2aa33cde035b43cb31ac7e78ff2a07a
- Fixed resource transition for present when HDR is off
Fixed cel shader displaying all black as blending was enabled when the hdr shader was being applied - turned off blending during this shader

* Move d3d12_hdr_uniform_t to dxgi_common.h and
rename it dxgi_hdr_uniform_t

* (D3D11) Add HDR support

* Add TODO/FIXME notes

* Cache hdr_enable in video_frame_info_t

* Update comment
2021-09-03 06:15:25 +02:00
Tunip3 9228a6f8ab disable cpu model check on xbox as it doesn't work and can even crash the app for some users 2021-09-02 18:21:16 +01:00
Michael Burgardt f6f7d145d2 Add core options translation scripts 2021-09-02 19:07:28 +02:00
twinaphex 868865c388 Include "config.h" before including msg_hash.h - we were
getting a crash at startup of the Qt desktop interface because
we didn't do this
2021-09-02 01:12:24 +02:00
Autechre ad01f5d5b6 Merge pull request #12923 from jdgleaver/mixer-reinit
Ensure than menu sounds are re-enabled when calling CMD_EVENT_AUDIO_REINIT
2021-09-01 19:10:53 +02:00
jdgleaver 48d9df6bb7 Ensure than menu sounds are re-enabled when calling CMD_EVENT_AUDIO_REINIT 2021-09-01 17:59:46 +01:00
Autechre 11b88c748e Merge pull request #12921 from jdgleaver/menu-sounds-fix
Fix menu sounds (audio mixing) when using the 'sinc' resampler with quality lower than 'normal'
2021-09-01 17:57:34 +02:00
jdgleaver 547f04b894 Fix menu sounds (audio mixing) when using the 'sinc' resampler with quality lower than 'normal' 2021-09-01 15:55:58 +01:00
sonninnos 19602d394f Update AUTHORS.h and script 2021-08-31 22:42:31 +03:00
twinaphex 9ea6f15c1d (Ozone) Forgot to add ozone.c file 2021-08-31 18:43:58 +02:00
twinaphex d0d495edc3 Combine all ozone files into one - discussed internally first -
allows us to modify the scope of the global variables from public
to static - also allows for easier refactors amongst
XMB/materialui/Ozone/RGUI later
2021-08-31 18:42:43 +02:00
twinaphex a785bd8d80 Remove HAVE_STRIPES - unfinished and unusable menu driver right
now
2021-08-31 17:50:24 +02:00
Autechre 256713e888 Merge pull request #12914 from libretro/move-code-over-to-menu-driver
Move lots of menu code over to menu/menu_driver.c
2021-08-31 14:20:42 +02:00
twinaphex fb35460c6d Move more code over 2021-08-31 01:47:57 +02:00
twinaphex 5677799faf Move more code over 2021-08-31 01:27:36 +02:00
twinaphex fc4081cd8f Fix some builds 2021-08-31 00:55:46 +02:00
twinaphex 0db409d5b5 Move lots of menu code over to menu/menu_driver.c - moved at least
44Kb of code over
2021-08-31 00:43:04 +02:00
twinaphex 70ebc85b6c Buildfix for targets with no HAVE_OVERLAY defined 2021-08-30 22:58:53 +02:00
twinaphex dbf3e278dd menu_driver_toggle - cleanups 2021-08-30 22:31:30 +02:00
twinaphex 03c54a9854 Cleanup menu_event and nested functions so that we remove p_rarch
dependencies
2021-08-30 21:59:35 +02:00
twinaphex 8460618666 menu_input_get_mouse_hw_state - horiz mouse wheel up/down were inverted 2021-08-30 21:17:08 +02:00
twinaphex c6f2e52d62 Simplify menu_driver_toggle 2021-08-30 21:11:43 +02:00
twinaphex 7e61c7ab32 Optimize menu_input_get_mouse_hw_state 2021-08-30 20:55:27 +02:00
twinaphex b68ace9e3d Simplify several menu poll functions 2021-08-30 20:46:07 +02:00
twinaphex 37aa13bb47 (X11) get_video_mode - make sure parameter does not hide global
variable of the same name
2021-08-30 18:39:02 +02:00
twinaphex e384c2b099 Fix some warnings in retroarch.c - local variables hiding parameter
of the same name, local variable being unused on one platform because
it's only used within an ifdef, etc.
2021-08-30 18:27:55 +02:00
twinaphex 1bafa70837 Simplify config_load_file - get rid of end label 2021-08-30 17:52:50 +02:00
Autechre 2406894329 Merge pull request #12913 from libretro/move-code-over-to-configuration
Move code in retroarch.c over to configuration file
2021-08-30 17:45:50 +02:00
twinaphex 220dfe4dbf Move code in retroarch.c over to configuration file 2021-08-30 16:52:05 +02:00
twinaphex bfc7e824fe Rmeove some obsolete comments 2021-08-30 16:13:47 +02:00
twinaphex 2f14d2e4e2 Move some command functions over from retroarch.c to command.c - the
other ones have some dependencies on static locals in retroarch.c so
can't be easily transferred over for now
2021-08-30 16:08:50 +02:00
Autechre cd126f0236 Merge pull request #12911 from Jamiras/rcheevos102
(cheevos) upgrade to rcheevos 10.2
2021-08-30 05:19:04 +02:00
twinaphex d2283a5237 Use better already existing race guard 'audio_suspended' instead
of 'video_driver_is_switching_mode'
2021-08-30 05:08:09 +02:00
twinaphex d429ecf304 Safer way of avoiding the race condition in
audio_driver_sample/audio_driver_sample_batch - we can check
is_display_mode_switching to see if we're doing a fs/windowed toggle
(full teardown/setup), no audio should be processed at this point in
time
2021-08-30 04:52:28 +02:00
twinaphex d45945cda2 When audio driver write callback function fails, don't
turn audio off completely - look if audio_driver_output_samples_conv_buf
is non-NULL first before we attempt to write audio
2021-08-30 02:13:19 +02:00
twinaphex 943e14051c Increased safety for non-batched audio sample callback - fixes audio_driver_sample crashing in PCSX2 when toggling fullscreen 2021-08-30 01:54:49 +02:00
Autechre 4b6a82a3b0 Merge pull request #12908 from libretro/input-robustness-for-threaded-cores
Input robustness for threaded cores
2021-08-29 23:00:48 +02:00
twinaphex bf2e7b93f0 (Vulkan) Fix Vulkan validation layer - fix thanks to flyinghead -
see comments
2021-08-29 20:39:22 +02:00
twinaphex 24721e6a1d C89 buildfix for MSVC 2021-08-29 20:37:09 +02:00
twinaphex 0a1affba7a Simplify menu_input_get_mouse_hw_state/menu_input_read_mouse_hw 2021-08-29 19:05:38 +02:00
twinaphex a9f1dd3647 input_driver_poll; remove shadowed variable
menu_input_read_mouse_hw - cleanup + go through local pointer
variable for primary_joypad
2021-08-29 18:41:58 +02:00
twinaphex 540d192ecb Buildfix for Apple + make sure primary_joypad/secondary_joypad goes through local pointers; cut down on HAVE_MFI ifdefs in retroarch.c 2021-08-29 18:34:52 +02:00
twinaphex f1f3998d28 Prevent joypad objects being destroyed before their pointers are being
NULLed. Another thread could access a "half destroyed" object before
2021-08-29 18:06:08 +02:00
twinaphex 46fb61bede input_state_wrap - do not attempt to access joypad or sec_joypad
pointers if non-NULL
2021-08-29 16:57:41 +02:00
twinaphex cf7b30481b Get rid of gfx_widgets_draw_icon_blend - was just a duplicate of
gfx_widgets_draw_icon with blend_begin and blend_end wrapped around it
2021-08-29 15:21:40 +02:00
Brian Weiss 30db7d8cd3 upgrade to rcheevos 10.2 2021-08-28 13:58:33 -06:00
Autechre 2474fe3c2e Updating CODING-GUIDELINES - typo fix 2021-08-28 17:24:32 +02:00
twinaphex 5b3e5f5daa Update CODING-GUIDELINES 2021-08-28 17:22:24 +02:00
Autechre 861cb2953a Merge pull request #12902 from 4th-fork/master
set background colour for splash screen to black
2021-08-28 15:12:23 +02:00
Tunip3 6dfe20e247 set background colour for splash screen to black rather than the default light gray 2021-08-28 13:47:57 +01:00
twinaphex b574780d99 (UWP) Updated icons courtesy of Danp142 2021-08-27 20:17:22 +02:00
Autechre 1a2ee91117 Merge pull request #12895 from jdgleaver/overlay-adc-fix
Fix overlay input when analog to digital mapping is enabled
2021-08-27 17:21:10 +02:00
jdgleaver bc6fec6e0c Fix overlay input when analog to digital mapping is enabled 2021-08-27 16:16:31 +01:00
Autechre ec06ab0941 Merge pull request #12890 from jdgleaver/custom-viewport-keyboard-entry
Allow 'Custom Aspect Ratio (X Position)/(Y Position)/(Width)/(Height)' to be entered manually via keyboard
2021-08-27 15:08:05 +02:00
jdgleaver 32e2aacd3c Allow 'Custom Aspect Ratio (X Position)/(Y Position)/(Width)/(Height)' to be entered manually via keyboard 2021-08-27 11:21:29 +01:00
Tunip3 bb0fe6c2d1 fix extraction issues 2021-08-26 23:18:42 +01:00
twinaphex 7f08729a5e Revert "(gfx_display) Make gfx_display_set_fb_size - get rid of the small"
This reverts commit 618cfacd59.
2021-08-26 18:42:43 +02:00
twinaphex ea6139b234 Revert "(GX) Buildfix"
This reverts commit 96d87802cd.
2021-08-26 18:42:34 +02:00
twinaphex 96d87802cd (GX) Buildfix 2021-08-26 18:31:32 +02:00
twinaphex 618cfacd59 (gfx_display) Make gfx_display_set_fb_size - get rid of the small
getter/setter functions - also finally take this opportunity to stop
setting framebuffer width/height/pitch for menu drivers that don't
use a framebuffer texture at all
2021-08-26 18:26:44 +02:00
Autechre 6d9ee4c161 Merge pull request #12875 from libretro/coc-update
Add Code of Conduct
2021-08-26 15:37:14 +02:00
Stephanie Gawroriski 46b9432fb8 Include subject line inclusion. 2021-08-26 09:34:40 -04:00
Autechre c66bcc05cf Merge pull request #12878 from libretro/input-get-rid-of-getters-setters
Get rid of getters/setters in big driver files from now
2021-08-26 14:58:33 +02:00
Autechre 00b15c4e79 Merge pull request #12877 from jdgleaver/core-options-flush
Add option to (force-)write current core options to disk
2021-08-26 14:11:05 +02:00
twinaphex 597dbfdf9a Address issues pointed out 2021-08-26 14:01:37 +02:00
twinaphex af6b09d950 Fix some of the indenting; add NULL checks 2021-08-26 13:49:06 +02:00
twinaphex 0194ce91bf Get rid of getters/setters in big driver files from now 2021-08-26 13:27:44 +02:00
jdgleaver a6901dc85e Add option to (force-)write current core options to disk 2021-08-26 11:42:46 +01:00
Stephanie Gawroriski 8850a4984b Remove Discord and Twitter 2021-08-25 19:03:08 -04:00
Stephanie Gawroriski daef26f951 Create CODE_OF_CONDUCT.md 2021-08-25 18:55:32 -04:00
Tunip3 45a16fab1b clean up retro_vfs_file_open_impl 2021-08-25 23:12:29 +01:00
Autechre 5ca99fdb51 Merge pull request #12874 from libretro/social-update
Contributing guidelines update.
2021-08-25 21:16:48 +02:00
Autechre 23a06ef1a1 Merge pull request #12863 from sonninnos/config-ar
Default aspect ratio + sublabel correction
2021-08-25 17:29:25 +02:00
Tunip3 8396bd599d strip out unneeded uwp specific file io functions 2021-08-25 15:54:09 +01:00
Stephanie Gawroriski cd3e818210 Add coding standards. 2021-08-25 10:54:04 -04:00
Twinaphex 619df7e11b remove HAVE_DISCORD from OSX OpenGL solution (RetroArch.xcodeproj) - we
cannot assume C++11 support here for backwards compatibility purposes
2021-08-25 13:03:19 +02:00
twinaphex df98bca9ae (Mac) Add Discord RPC support - untested 2021-08-25 09:56:00 +02:00
Autechre 10e1f5d72a Merge pull request #12871 from sonninnos/msvc-buildfix
MSVC buildfix
2021-08-25 00:37:40 +02:00
Autechre aac207b455 Merge pull request #12872 from sonninnos/c89-buildfix
C89 buildfix
2021-08-25 00:37:31 +02:00
sonninnos ca311246b1 C89 buildfix 2021-08-24 22:32:47 +03:00
sonninnos 22de07a662 MSVC buildfix 2021-08-24 22:28:13 +03:00
Autechre 2329a36f54 Merge pull request #12866 from sonninnos/resolution-list
Screen Resolution list sanitizing
2021-08-24 20:21:48 +02:00
Autechre ab3385c73d Merge pull request #12870 from sonninnos/menu-sound-sublabel
Add sublabel for 'Menu Sounds'
2021-08-24 20:18:34 +02:00
sonninnos f21f113678 Add sublabel for 'Menu Sounds' 2021-08-24 21:05:21 +03:00
sonninnos d5b1c3092f Screen Resolution list sanitizing 2021-08-24 20:01:19 +03:00
twinaphex d401816f41 Silence warnings 2021-08-24 18:47:29 +02:00
Autechre dbb74ba5ab Merge pull request #12823 from markwkidd/input-drivers
input_driver refactor
2021-08-24 18:45:20 +02:00
Autechre 4e188c0f26 Merge pull request #12830 from icculus/udev_keyboard_detect_fix
udev_input.c: Look for "ID_INPUT_KEY", not "ID_INPUT_KEYBOARD"
2021-08-24 18:42:38 +02:00
Autechre 376f06c993 Merge pull request #12841 from libretro/resampler-neon
(sinc) Add non-ASM ARM NEON intrinsics codepath for Sinc resampler
2021-08-24 17:52:34 +02:00
Autechre 1bd188c5a7 Merge pull request #12867 from jdgleaver/shader-parameter-check-fix
Highlight currently selected value in Shader Parameter drop-down lists
2021-08-24 16:49:51 +02:00
Autechre d3813dddb1 Merge pull request #12868 from sonninnos/winraw-overlay-fix
(WINRAW) Fix crash when overlay is enabled
2021-08-24 16:49:30 +02:00
sonninnos 957b71cfdc (WINRAW) Fix crash when overlay is enabled 2021-08-24 17:03:28 +03:00
jdgleaver d35200aa56 Highlight currently selected value in Shader Parameter drop-down lists 2021-08-24 14:45:57 +01:00
Autechre 919954c5be Merge pull request #12864 from sonninnos/rate-set-prefix
Print video-prefix in refresh rate set to log only
2021-08-24 11:28:24 +02:00
Autechre cc7247aecf Merge pull request #12855 from jdgleaver/core-info-cache-path
Remove core path from core info cache
2021-08-24 11:27:31 +02:00
Autechre 024dbb5008 Merge pull request #12862 from sonninnos/video-sublabels
Add missing sublabels for video options
2021-08-24 11:26:40 +02:00
Autechre 41afbc30ef Merge pull request #12859 from jdgleaver/refresh-rate-entry
Allow 'Vertical Refresh Rate' to be entered manually via keyboard
2021-08-24 11:26:24 +02:00
sonninnos 8d513f8199 Print video-prefix in refresh rate set to log only 2021-08-23 18:32:10 +03:00
sonninnos eb49458284 Default aspect ratio + sublabel correction 2021-08-23 18:13:46 +03:00
Autechre b2c87baa87 Merge pull request #12861 from jdgleaver/audio-menu-fix
Fix segfault when accessing 'Audio' menu on platforms without mixer support
2021-08-23 16:44:47 +02:00
sonninnos 71ca56e0fb Add missing sublabels for video options 2021-08-23 17:44:02 +03:00
jdgleaver f505d625a3 Fix segfault when accessing 'Audio' menu on platforms without mixer support 2021-08-23 15:37:29 +01:00
jdgleaver 6855b7f2b1 Allow 'Vertical Refresh Rate' to be entered manually via keyboard 2021-08-23 13:55:19 +01:00
Autechre 1ad0251da9 Merge pull request #12856 from jdgleaver/gfx-display-unused-vars
(gfx_display.c) Remove unused variables
2021-08-23 14:06:57 +02:00
Autechre e5d6d411be Merge pull request #12857 from jdgleaver/qt-video-settings-fix
(Qt) Fix segfault when accessing Video Options menu on non-Windows platforms
2021-08-23 13:56:33 +02:00
jdgleaver b0c5362da6 (Qt) Fix segfault when accessing Video Options menu on non-Windows platforms 2021-08-23 12:40:46 +01:00
jdgleaver 67bc91c1d0 (gfx_display.c) Remove unused variables 2021-08-23 12:11:00 +01:00
jdgleaver f0a510c8a6 Remove core path from core info cache 2021-08-23 11:47:08 +01:00
Autechre f2d574fd87 Merge pull request #12853 from nbarkhina/master
Fixed web player bug with filesystem and runtime
2021-08-23 11:00:10 +02:00
Neil Barkhina 8590e0e3fe Fixed web player bug with filesystem and runtime 2021-08-22 20:08:05 -04:00
Stephanie Gawroriski d44f3e1239 Update CONTRIBUTING.md 2021-08-22 19:24:14 -04:00
Stephanie Gawroriski 1855ce5fc7 Update CONTRIBUTING.md 2021-08-22 19:18:00 -04:00
Autechre fa5ec2d4b1 Update CHANGES.md 2021-08-22 18:18:55 +02:00
twinaphex bea512b70b Get rid of gfx_display_draw_texture - use gfx_display_draw_quad instead 2021-08-22 17:57:21 +02:00
twinaphex 54ae219302 Fix gfx_display_draw_texture - fixes D3D11/D3D12/D3D10 OSK issues 2021-08-22 17:17:09 +02:00
Stephanie Gawroriski 5ac7d89e36 Part 1 rework of contributing. 2021-08-21 20:28:12 -04:00
Autechre 755789f825 Merge pull request #12845 from sonninnos/winraw-analog-keybinds
(WINRAW) Add missing analog keybinds
2021-08-22 01:02:02 +02:00
Autechre 5f3cb1fae2 Merge pull request #12846 from sonninnos/sdl2-keycodes
(WINSDL2) Fix keyboard event keycodes
2021-08-22 01:01:40 +02:00
Autechre 9bd6051581 Merge pull request #12847 from Jamiras/cheevos_http_neg1
(cheevos) automatically retry 'http error code -1'
2021-08-22 01:01:15 +02:00
Jamiras df5a2c5160 automatically retry 'http error code -1' 2021-08-21 13:54:39 -06:00
sonninnos 2482a6f42a (WINSDL2) Fix keycodes 2021-08-21 22:27:08 +03:00
sonninnos 26d6c8243a (WINRAW) Add missing analog keybinds 2021-08-21 22:01:12 +03:00
twinaphex 4fae4ead73 Add workaround for MSVC 2021-08-21 20:05:44 +02:00
twinaphex 0f3ae9b03d Try lroundf instead 2021-08-21 19:54:39 +02:00
Autechre 5a65773b81 Merge pull request #12842 from sonninnos/playlist-manage
Relocate 'Manage Playlists' to top
2021-08-21 19:25:58 +02:00
sonninnos 559a173e8b Relocate 'Manage Playlists' to top 2021-08-21 20:18:12 +03:00
twinaphex 9a97eb47ad Fix typos 2021-08-21 19:11:21 +02:00
Autechre ac539f6316 Merge pull request #12840 from sonninnos/video-rate-59hz
Fix refresh rate 59Hz rounding
2021-08-21 18:54:43 +02:00
twinaphex ca26e50050 (sinc) Add non-ASM ARM NEON intrinsics codepath for Sinc resampler 2021-08-21 18:52:20 +02:00
twinaphex b620325714 Rename HAVE_ARM_NEON_OPTIMIZATIOn to HAVE_ARM_NEON_ASM_OPTIMIZATIONS,
rename DONT_WANT_ARM_OPTIMIZATIONS to DONT_WANT_ARM_NEON_OPTIMIZATIONS
2021-08-21 18:00:59 +02:00
sonninnos 1e4557c09a Fix refresh rate 59Hz rounding 2021-08-21 18:20:15 +03:00
Autechre 11d5d3170d Merge pull request #12833 from IlDucci/translationsupdatewithscript0
Fetch translations from Crowdin 20-Aug-2021
2021-08-21 14:35:57 +02:00
Autechre 21d3c13ed3 Merge pull request #12837 from sonninnos/ozone-check
(Ozone) Ensure the existence of values used in selection calculation
2021-08-21 14:33:14 +02:00
Autechre 393343c03c Merge pull request #12839 from sonninnos/refresh-rate-notifications
Fix double notifications with refresh rate settings
2021-08-21 14:32:55 +02:00
sonninnos 4f57b6f6fa Fix double notifications with refresh rate settings 2021-08-21 15:09:19 +03:00
sonninnos 7a6434ecb2 (Ozone) Ensure the existence of values used in selection calculation 2021-08-21 13:10:59 +03:00
Autechre b02ef55a92 Merge pull request #12836 from libretro/displayserver-refactors
Simplify win32_get_metrics
2021-08-21 03:07:42 +02:00
twinaphex 462137305b Simplify win32_get_metrics 2021-08-21 02:24:32 +02:00
sonninnos b8188baeaf Automatic refresh rate switch where available 2021-08-21 01:15:41 +03:00
twinaphex eb50d7dbb4 (UWP) Push temporary fixes for issue that happens when resizing on UWP
with latest Xbox Series dashboard; DXGIResizeBuffers passing 0, 0 as
width/height is apparently problematic as it changes 0, 0 to 8,8
instead,
breaking the program
2021-08-20 23:16:01 +02:00
twinaphex 77a17b213d Fullscreen resolution width/height settings no longer require
'advanced settings'
2021-08-20 15:18:03 +02:00
IlDucci ddd75d3bb9 Fetch translations from Crowdin 20-Aug-2021 2021-08-20 11:17:16 +02:00
twinaphex ffb59e5261 (UWP) Turn this back on again - seems to work fine on Xbox 2021-08-20 10:07:29 +02:00
Mark W. Kidd 5f834a8cb3 input_driver refactor 2021-08-19 20:02:39 -04:00
Ryan C. Gordon 9a6faa3ddd udev_input.c: Look for "ID_INPUT_KEY", not "ID_INPUT_KEYBOARD"
This fixes programs using /dev/uinput to create a virtual keyboard failing
to be detected on startup. Usual symptom is some sort of GPIO-based
controller that looks like a keyboard to the OS and can control
EmulationStation, but fails to work in-game unless you restart the program
while the game is running (in which case udev_input.c's hotplug code, which
was using the correct key, would pick it up).
2021-08-19 16:00:57 -04:00
Autechre 0c0de9f0ad Merge pull request #12828 from jdgleaver/ff-override-runahead-fix
Fix RETRO_ENVIRONMENT_SET_FASTFORWARDING_OVERRIDE callback when runahead is enabled
2021-08-19 17:17:13 +02:00
jdgleaver bbc121cd74 Fix RETRO_ENVIRONMENT_SET_FASTFORWARDING_OVERRIDE callback when runahead is enabled 2021-08-19 14:49:49 +01:00
Autechre 48bb705b03 Update CHANGES.md 2021-08-19 14:28:56 +02:00
twinaphex 78431d0700 (MSVC2017/2019 UWP) Define HAVE_TRANSLATE 2021-08-19 14:25:55 +02:00
Mark W. Kidd 2b3dfeb10c standardize include path for config.h 2021-08-18 18:54:40 -04:00
Autechre 97144833cb Merge pull request #12819 from libretro/revert-12703-input-drivers
Revert "input refactoring: create input_driver.c"
2021-08-18 18:46:03 +02:00
Autechre ae327a769b Revert "input refactoring: create input_driver.c" 2021-08-18 18:45:53 +02:00
Autechre a66b1b3e48 Merge pull request #12703 from markwkidd/input-drivers
input refactoring: create input_driver.c
2021-08-18 18:17:43 +02:00
Autechre 5e879fa201 Merge pull request #12794 from DisasterMo/master
Add core options v1 to v2 conversion script
2021-08-18 18:17:26 +02:00
Autechre 80136dd3ec Merge pull request #12663 from Nargash/log_early
Starting logging and verbose mode before first config load
2021-08-18 18:17:03 +02:00
Autechre 2e82db6447 Merge pull request #12818 from mahoneyt944/patch-1
Allow mobile touch screen devices to use emscripten.
2021-08-18 17:49:56 +02:00
mahoneyt944 2802817239 Update config.def.h 2021-08-18 11:41:53 -04:00
Autechre 9750ebcf71 Merge pull request #12817 from jdgleaver/core-option-visibility-callback
Add environment callback for enabling core option menu visibility updates without toggling Quick Menu
2021-08-18 17:31:06 +02:00
jdgleaver 0e98b4ddea Add environment callback for enabling core option menu visibility updates without toggling Quick Menu 2021-08-18 16:08:26 +01:00
twinaphex 97b9a79fc0 Reproduced crash occurring on OSX upon entering 'Load Content'
menu, this fixes it
2021-08-18 16:10:19 +02:00
Autechre 3963039102 Update CONTRIBUTING.md 2021-08-18 02:45:48 +02:00
Autechre 4f26860bb4 Update CONTRIBUTING.md 2021-08-18 02:44:48 +02:00
Autechre 47b6d4a99d Update CONTRIBUTING.md 2021-08-18 02:44:21 +02:00
Mark W. Kidd d87ae5b5d7 set vscode .h association and gitignore its configuration 2021-08-17 20:30:50 -04:00
Autechre 52db47d0fd Update CHANGES.md 2021-08-17 20:24:23 +02:00
Autechre 92b330f2aa Merge pull request #12809 from Tatsuya79/patch-1
QT: windowed settings update
2021-08-17 19:19:50 +02:00
Tatsuya79 bf8f527143 QT: windowed settings update 2021-08-17 15:41:49 +02:00
Mark W. Kidd 5a8920c862 input_driver refactor 2021-08-17 08:56:29 -04:00
twinaphex dfea030f5b Revert "Update libretro.h header file"
This reverts commit f3458fb943.
2021-08-17 10:38:14 +02:00
Autechre e68e3e9bb3 Merge pull request #12806 from jdgleaver/window-size-cap
Add facility to cap maximum window size in windowed mode
2021-08-17 01:07:00 +02:00
twinaphex f3458fb943 Update libretro.h header file 2021-08-16 23:53:50 +02:00
Autechre d369e06a67 Merge pull request #12804 from tunip3/patch-1
add fix for beetle cores to change log
2021-08-16 19:21:07 +02:00
jdgleaver fa7dd0f6d9 Add facility to cap maximum window size in windowed mode 2021-08-16 17:49:11 +01:00
jdgleaver 0f142d531a Revert "Add extra video logs so we can see what goes on"
This reverts commit 6780f58444.
2021-08-16 17:49:11 +01:00
jdgleaver 6e7e8a7680 Revert "video_driver_init_internal - add more logs"
This reverts commit d0a08ce959.
2021-08-16 17:49:11 +01:00
jdgleaver c2b3ba907c Revert "video_driver_init_internal - refactor"
This reverts commit bba924e8d2.
2021-08-16 17:49:11 +01:00
tunip3 ece8ff8ad8 add fix for beetle cores to change log 2021-08-16 15:11:26 +01:00
Autechre 89f984400b Merge pull request #12803 from fjtrujy/ps2/FlickeringIssues
Solve flickering issues in cores with Frame Skip
2021-08-16 14:07:14 +02:00
Francisco Javier Trujillo Mata a442c5b14f Simplify logic for transparencies 2021-08-16 13:12:06 +02:00
twinaphex 6223ba47fd Bring back these tiny optimizations from foobar2k 2021-08-15 22:54:21 +02:00
twinaphex 1906a741c2 Rollback sinc resampler changes - themaister wasn't sure if these were
actual optimizations
2021-08-15 22:45:59 +02:00
twinaphex bba924e8d2 video_driver_init_internal - refactor 2021-08-15 21:57:44 +02:00
Autechre a6f44ab642 Merge pull request #12801 from fjtrujy/ps2/HDD_startup
Avoid to start HDD if user boot from different unit
2021-08-15 17:21:35 +02:00
Francisco Javier Trujillo Mata e999c65037 Avoid to start HDD if user boot from different unit 2021-08-15 17:04:52 +02:00
Michael Burgardt 2d934f4d53 Add core options v1 to v2 conversion script 2021-08-15 13:07:31 +02:00
twinaphex f5564120a4 Remove math-neon on frangarcj's recommendation - not used 2021-08-15 09:47:31 +02:00
Autechre b0ac722366 Update CHANGES.md 2021-08-14 21:04:29 +02:00
Autechre 757ce5e572 Update CHANGES.md 2021-08-14 20:58:23 +02:00
Autechre def35ebe8e Merge pull request #12799 from Jamiras/cheevos_inf_regions
(cheevos) support for more than 64 memory regions
2021-08-14 20:57:24 +02:00
Jamiras a0f3bf7432 support for more than 64 memory regions 2021-08-14 12:47:42 -06:00
twinaphex b837e053e9 (cheevos) Silence warning signed/unsigned mismatch 2021-08-14 19:17:23 +02:00
Autechre c8e183fb3c Merge pull request #12797 from QuarkTheAwesome/load-without-core-info
(WiiU) Add option for running without core info (emscripten-style)
2021-08-14 17:03:38 +02:00
Autechre 29510df156 Merge pull request #12798 from QuarkTheAwesome/wiiu-128k-slowpath
(WiiU) Slight filesystem optimisation
2021-08-14 17:03:10 +02:00
Ash Logan d9157c5dc7 (WiiU) Read up to 128k on the no-CFW unaligned slowpath
it may be the slowpath, but 16k is a bit rich
2021-08-14 20:29:24 +10:00
Ash Logan 692f4443f4 (WiiU) Add option for running without core info (emscripten-style)
Very useful when wiiloading a test binary or running in emulation
2021-08-14 20:26:14 +10:00
twinaphex d0a08ce959 video_driver_init_internal - add more logs 2021-08-14 08:36:47 +02:00
twinaphex 6780f58444 Add extra video logs so we can see what goes on 2021-08-14 08:11:17 +02:00
twinaphex a489f1275a (Ozone) Casting to unsigned caused an integer overflow and after float
promotion would lead to 'x' being a garbage value, leading to problems
when this value was passed to vkCmdSetViewport. This stops Vulkan
validation layers from complaining about it
2021-08-14 02:20:56 +02:00
Autechre 84f5ab96ea Merge pull request #12792 from IlDucci/translationsupdatewithscript
Fetch translations from Crowdin 13-Aug-2021
2021-08-13 23:22:09 +02:00
Autechre fe10d285ec Merge pull request #12793 from Xbox-Homebrew/master
fix loading arcade dat files
2021-08-13 22:07:59 +02:00
IlDucci 9ad6ebc879 Fetch translations from Crowdin 13-Aug-2021 2021-08-13 21:35:50 +02:00
Tunip3 4116cb6fa5 fix issue where filesizes where not returned properly, this fixes loading arcade dat files 2021-08-13 20:33:27 +01:00
twinaphex 14e974ea07 Silence warning on WiiU - unused variable 2021-08-13 18:17:22 +02:00
Autechre a6b0efa4f0 Merge pull request #12790 from jdgleaver/core-option-category-disable
Add option to disable core option categories
2021-08-13 17:58:29 +02:00
jdgleaver c4880ca840 Add option to disable core option categories 2021-08-13 16:18:02 +01:00
Autechre 1c4895b8bf Merge pull request #12789 from Xbox-Homebrew/master
Fix beetle cores on UWP and clean up the method in which drives are listed
2021-08-13 15:54:18 +02:00
twinaphex 1ca1d362bf Ifdef this for HAVE_NETWORKING - should fix Emscripten 2021-08-13 07:57:18 +02:00
Autechre beabcebe9d Merge pull request #12788 from Jamiras/cheevos_abr
(cheevos) prevent read past end of buffer
2021-08-13 01:09:10 +02:00
Jamiras 1e4af83e2a prevent read past end of buffer 2021-08-12 16:28:51 -06:00
Autechre 9e84c5c2c8 Merge pull request #12787 from sonninnos/win32-orig-refresh
(WIN32) Remember original refresh rate
2021-08-12 19:24:01 +02:00
Autechre 1c82fd29ef Merge pull request #12786 from sonninnos/resolution-dropdown
Resolution dropdown pop
2021-08-12 19:23:39 +02:00
Autechre f0bd4e9172 Merge pull request #12785 from sonninnos/win32-vulkan-cleanup
(WIN32/Vulkan) Refresh rate fixes + cleanups
2021-08-12 19:23:29 +02:00
twinaphex 05bf208f7d Was missing a header include for switch_performance_profiles.h 2021-08-12 19:03:42 +02:00
twinaphex e9e6607fc9 (libz) Clang does not like this at all - warning: possible misuse of comma operator here [-Wcomma] 2021-08-12 19:00:59 +02:00
twinaphex 5b3942eae7 * (PSP/Vita) Remove unused variables
* (Switch/libnx) remove dead code
* (Lakka/Switch/libnx) It was a mistake to include
  switch_performance_profiles.h inside lakka.h, it was creating warnings
for nearly every file. Instead, it gets optionally included for the
files that need it
2021-08-12 18:51:33 +02:00
twinaphex 148a489af5 Add TODO/FIXME note and exclude ifdef for now 2021-08-12 18:28:03 +02:00
twinaphex d28402b87d Current label and value seems too big for strings being spoken,
reduce them by half
2021-08-12 18:24:35 +02:00
twinaphex a736dd27d2 (platform_switch) arg_data/args don't seem used anywhere
(switch_thread_audio) Pass correct type to function
2021-08-12 18:22:09 +02:00
twinaphex ccb8ecec4d Simplify command_event_save_current_config 2021-08-12 18:16:50 +02:00
sonninnos f1c276b751 (WIN32) Remember original refresh rate 2021-08-12 19:15:55 +03:00
sonninnos ef31302bd5 Pop out of Screen Resolution option after selecting 2021-08-12 19:09:51 +03:00
twinaphex 28417a02b7 Reduce size of path_config_append_file - too big - see warning
configuration.c:3710:10: note: 'snprintf' output 2 or more bytes (assuming 4097) into a destination of size 4096
2021-08-12 17:39:27 +02:00
twinaphex cd69803427 Silence warnings on tvOS 2021-08-12 17:35:37 +02:00
sonninnos 11b0667e72 (WIN32/Vulkan) Refresh rate fixes + cleanups 2021-08-12 18:33:58 +03:00
twinaphex d4c62a177a Lower subsystem_path to 256 - hopefully gets rid of the warnings on Wii 2021-08-12 17:29:35 +02:00
Autechre 7c9817b582 Merge pull request #12784 from fjtrujy/ps2/HDDSupport
Add support of HDD for PS2
2021-08-12 17:17:30 +02:00
twinaphex 3ce8d14c2e More HAVE_NETWORKING buildfixes for Dingux 2021-08-12 17:14:08 +02:00
Twinaphex 57054a075d (macOS) Fix remaining build errors with netplay discovery ifdefs 2021-08-12 17:11:31 +02:00
twinaphex 027bbe0755 Forgot some more HAVE_NETWORKING ifdefs 2021-08-12 17:03:59 +02:00
twinaphex ac4adabeb9 Silence some unused variable warnings 2021-08-12 17:00:24 +02:00
twinaphex c76cb77202 Further buildfixes for platforms that don't support
HAVE_NETPLAYDISCOVERY
2021-08-12 16:52:43 +02:00
twinaphex d07e0da412 Improve HAVE_NETWORKING and HAVE_NETPLAYDISCOVERY ifdefs; remove
unused netplay lan scan rooms function
2021-08-12 16:44:07 +02:00
twinaphex 43b72ea23c Silence some warnings (unused variables) when HAVE_NETPLAYDISCOVERY
is not defined
2021-08-12 16:11:29 +02:00
twinaphex fbeb157bba Raise limit on stk_ident to avoid warning on Vita 2021-08-12 16:01:48 +02:00
Francisco Javier Trujillo Mata df89a6b604 Add support of HDD for PS2 2021-08-12 14:07:14 +02:00
twinaphex 8d7e8bb574 (Wii) Disable RSound support - will only cost RAM and is probably
not in use
2021-08-11 22:13:47 +02:00
twinaphex 20ef0667b0 Add initial webOS port courtesy of informatic/webosbrew/mariotaku 2021-08-11 20:04:11 +02:00
twinaphex c34982d695 Update CHANGES.md 2021-08-11 19:20:21 +02:00
Autechre 0c806447b5 Merge pull request #12780 from jdgleaver/database-crc-fix
(Database) Fix heap-buffer-overflow when fetching CRC values
2021-08-11 19:19:30 +02:00
twinaphex b375e08c67 (libretro-common) fill_pathname_abbreviated_or_relative - fix warning -
variable is uninitialized
2021-08-11 18:50:03 +02:00
jdgleaver b2a4620f3b (Database) Fix heap-buffer-overflow when fetching CRC values 2021-08-11 17:32:45 +01:00
twinaphex 013dd30bde We have to uniquely name pointer_status struct for both dinput
and winraw because otherwise Griffin builds will fail
2021-08-11 03:44:34 +02:00
Autechre 7e08c019bc Update CHANGES.md 2021-08-11 03:40:45 +02:00
Autechre 8dfaee370a Merge pull request #12779 from sonninnos/wasapi-nonblock
(WASAPI) Stop deactivating audio on fast forward
2021-08-11 03:37:20 +02:00
sonninnos c737947d74 (WASAPI) Stop deactivating audio on fast forward 2021-08-11 04:21:52 +03:00
Autechre 9a4597d7ba Merge pull request #12776 from fjtrujy/ps2_aspect_ratio
PS2 aspect ratio
2021-08-10 18:58:59 +02:00
Autechre 82e53d3db8 Merge pull request #12777 from jdgleaver/core-option-hash
Optimise core option/core option category look-ups using hash tables
2021-08-10 18:58:49 +02:00
Tunip3 59e36c51a3 simplify getting root drives 2021-08-10 17:31:59 +01:00
Tunip3 a4017e69e4 fix cd based beetle cores 2021-08-10 17:24:31 +01:00
Francisco Javier Trujillo Mata 8b1fa3bb59 Fixing missing deinit libraries in cores 2021-08-10 18:15:36 +02:00
Francisco Javier Trujillo Mata 2aeb0b079e Implement aspect_ratio and scaling integer to PS2 2021-08-10 18:14:02 +02:00
jdgleaver 2d9a1d2270 Optimise core option/core option category look-ups using hash tables 2021-08-10 16:14:23 +01:00
Tunip3 075783d4f7 Merge branch 'master' of https://github.com/Xbox-Homebrew/RetroArch 2021-08-10 15:45:25 +01:00
Tunip3 a2c378c594 add entry to git ignore 2021-08-10 15:45:14 +01:00
Autechre 9cd5e66b21 Merge pull request #12774 from jdgleaver/nested-list-fix
(nested_list) Fix heap-use-after-free errors due to pointer invalidation when resizing internal RBUF arrays
2021-08-10 00:31:40 +02:00
jdgleaver f58c7f69d9 (nested_list) Fix heap-use-after-free errors due to pointer invalidation when resizing internal RBUF arrays 2021-08-09 23:08:17 +01:00
twinaphex 406c8bee7b Silenc some warnings 2021-08-09 21:24:03 +02:00
twinaphex 13a2d2419f (PSL1GHT) Fix function prototype for 'button' pad driver
(Task save) Fix warning in platform port
2021-08-09 20:25:27 +02:00
Autechre c6e86caeed Merge pull request #12771 from jdgleaver/core-options-sample-unused-var
Remove unused variable in core options v2 sample template file
2021-08-09 18:08:12 +02:00
jdgleaver e42a1895af Remove unused variable in core options v2 sample template file 2021-08-09 17:02:11 +01:00
Autechre efffa2a76e Merge pull request #12769 from fjtrujy/DEBUG_SCREEN
Use printf_screen for make easier the debugging
2021-08-09 14:23:21 +02:00
Autechre 5b801bab46 Update CHANGES.md 2021-08-09 14:22:59 +02:00
Francisco Javier Trujillo Mata 187a73d93a Use printf_screen for make easier the debugging 2021-08-09 14:19:51 +02:00
Autechre ef3dbc8378 Merge pull request #12749 from jdgleaver/core-option-category
Add core option category support
2021-08-09 14:19:00 +02:00
Autechre 7e1fdafa47 Merge pull request #12767 from GiantEnemyCrab/linux-add-StartupWMClass-to-desktop-file
Add StartupWMClass to retroarch.desktop file
2021-08-09 14:18:40 +02:00
Autechre 92efe48db2 Merge pull request #12768 from Jamiras/cheevos_ctype_uchar
(cheevos) explicitly cast to unsigned char for ctype functions
2021-08-09 14:18:20 +02:00
jdgleaver 1f7532bf52 Add core options v2 template in 'libretro-common/samples/core_options/example_categories' 2021-08-09 12:23:43 +01:00
Brian Weiss 0e3fddf448 explicitly cast to unsigned char for ctype functions 2021-08-08 21:56:26 -06:00
GiantEnemyCrab 0515377d63 Add StartupWMClass to retroarch.desktop file 2021-08-08 23:14:56 -04:00
twinaphex 93e5fc60af Silence some warnings 2021-08-08 22:14:50 +02:00
twinaphex bb30dc3dee After gblues' change, the rest of the button function callbacks
for the other joypad drivers still had int16_t as the return type
instead of int32_t - fix this
2021-08-08 21:48:19 +02:00
Autechre 70ca111a53 Update CHANGES.md 2021-08-08 12:46:19 +02:00
Autechre 80225daee0 Merge pull request #12764 from gblues/gblues/fix-missing-buttons
WIIU: Fix L3/R3 buttons
2021-08-08 12:45:57 +02:00
Nathan Strong feb4f266fa WIIU: Fix L3/R3 buttons
== DETAILS
After a bisect, the culprit was changing the gamepad interface from
returing a single button (bool) to multiple (int16).

The issue is that the Wii U gamepad (and presumably the Pro controller too)
have more than 16 buttons, which means some buttons get lost. Notably, L3 (18)
and R3 (17).

The solution: use int32 instead of int16.

I did a test build and confirmed that this change restores L3/R3 functionality
with the gamepad. Don't have a pro controller to test, but it should work too.
2021-08-07 23:23:33 -07:00
Autechre 34758d15ef Update CHANGES.md 2021-08-08 00:49:23 +02:00
twinaphex 6fe45a451d (Metal raster font) Fix severe font driver leaks 2021-08-08 00:42:56 +02:00
twinaphex f7ad73b494 No more leak in CFSearchPathForDirectoriesInDomains 2021-08-07 21:25:18 +02:00
twinaphex 8e46e46a40 Simplify CFSearchpathForDirectoriesInDomains - one less leak - not
out of the woods yet though
2021-08-07 21:14:38 +02:00
twinaphex 722e36001f Simplify CFSearchPathForDirectoriesInDomains 2021-08-07 21:05:22 +02:00
twinaphex 8a037a3091 Cleanup CFSearchPathForDirectoriesInDomains 2021-08-07 20:35:27 +02:00
Autechre f129a55a8a Update CHANGES.md 2021-08-07 20:26:24 +02:00
Autechre 390f914357 Merge pull request #12573 from markwkidd/wayland-input
wayland input driver multimouse/multigun fixup
2021-08-07 20:25:23 +02:00
Autechre 980647c9b8 Update CHANGES.md 2021-08-07 19:43:56 +02:00
Autechre 87c1800cb8 Update CHANGES.md 2021-08-07 19:35:14 +02:00
Autechre 4c227afb0d Merge pull request #12757 from ComradeEcho/bugfix/controller-duplication-bug
macOS controller duplication bug
2021-08-07 19:34:09 +02:00
ComradeEcho 35c2ec993b Remove code that duplicates controllers 2021-08-07 11:43:50 -05:00
ComradeEcho 86b297e0fd Merge branch 'libretro:master' into bugfix/controller-duplication-bug 2021-08-07 11:31:50 -05:00
twinaphex b513a3d166 (OSX) Prevent crash on startup on OSX Platforms with no ARC
enabled - CFSearchPathForDirectoriesInDomains - CFTypeRef
returned by NSSearchPathForDIrectoriesInDomains should not
be freed
2021-08-07 18:24:46 +02:00
Autechre c19c6a3ca8 Update CHANGES.md 2021-08-07 16:20:07 +02:00
Autechre a40d1ce8b6 Merge pull request #12759 from fjtrujy/ps2_gfx_alpha
Implement Alpha for the PS2_GFX driver
2021-08-07 16:14:49 +02:00
Autechre d9312d09a8 Merge pull request #12758 from QuarkTheAwesome/wiiu-ic-invalidaterange
(WiiU) Add ICInvalidateRange
2021-08-07 12:38:01 +02:00
Ash Logan 97db0291d2 (WiiU) Add ICInvalidateRange 2021-08-07 15:42:12 +10:00
Adie ce4fce12c0 Implement changes to fix macOS controller duplication bug 2021-08-06 22:02:43 -05:00
Autechre 1661d4e969 Merge pull request #12756 from sonninnos/winraw-alt-sticky
(WINRAW) Alt sticky fix
2021-08-07 03:54:43 +02:00
twinaphex f459472f6d Fix leaks - we were not honoring the ownership policy/create rule
for various CoreFoundation functions with 'Copy' or 'Create' in the title
2021-08-07 03:46:08 +02:00
sonninnos 6170fc45ae (WINRAW) Cleanups 2021-08-07 04:31:32 +03:00
twinaphex c1ed271a12 (Mac/IOHIDManager) Fix leak of elements_raw and elements in iohidmanager_hid_device_add_device 2021-08-07 03:30:17 +02:00
twinaphex 84a83ef43c (7zip) Use int64_t 2021-08-07 03:26:08 +02:00
sonninnos 079070daf7 (WINRAW) Prevent Alt getting stuck when Alt-Tabbing 2021-08-07 04:24:20 +03:00
Autechre 110882903c Merge pull request #12755 from Jamiras/cheevos_no_signed_char
(cheevos) address warning when using -fno-signed-char
2021-08-07 02:59:34 +02:00
Brian Weiss a5f8053533 address warning when using -fno-signed-char 2021-08-06 18:33:31 -06:00
Autechre b0e7a4db6a Merge pull request #12754 from libretro/remove-7zip-typedef
(7zip) Use normal stdint.h types that don't conflict with PowerPC Mac's OSTypes.h
2021-08-07 02:17:35 +02:00
twinaphex 9700a009c5 (7zip) Use normal stdint.h types that don't conflict with PowerPC
Mac's OSTypes.h
2021-08-07 01:43:08 +02:00
Autechre 64244cd73f Merge pull request #12753 from sonninnos/winraw-pointer
(WINRAW) Add pointer status
2021-08-06 23:09:31 +02:00
sonninnos 2178f9d36f (WINRAW) Add pointer status 2021-08-06 23:12:38 +03:00
Autechre 26c2259b11 Merge pull request #12748 from sonninnos/default-mouse-index
Change default mouse index to port index
2021-08-06 18:17:14 +02:00
sonninnos 60e25c5e3b Change default mouse index to port index 2021-08-06 17:42:39 +03:00
jdgleaver fe1f311a35 Add core option category support 2021-08-06 15:33:47 +01:00
Francisco Javier Trujillo Mata 885f9bbcc3 Implement Alpha for the PS2_GFX driver 2021-08-06 14:29:37 +02:00
Autechre 7a0dc3c4ca Merge pull request #12746 from ComradeEcho/bugfix/fix-debug-logging
Fix debug-level logging output.
2021-08-06 13:10:08 +02:00
ComradeEcho a803f652ab Merge branch 'libretro:master' into bugfix/fix-debug-logging 2021-08-06 03:09:42 -05:00
Autechre a2fb0847ae Merge pull request #12743 from sonninnos/mouse-display-name
Friendly names for mice where available
2021-08-06 00:12:04 +02:00
sonninnos bd3533f05d Friendly names for mice where available 2021-08-06 00:21:17 +03:00
Autechre 5dcec3819e Merge pull request #12742 from sonninnos/content-info
Show content info label+path rows always
2021-08-05 22:48:23 +02:00
sonninnos a58676709a Show content info label+path rows always 2021-08-05 21:28:08 +03:00
Autechre c6af4089b4 Merge pull request #12740 from sonninnos/winraw-alt-fix
(WINRAW) Alt key fix
2021-08-05 15:08:54 +02:00
sonninnos 4e90b731d3 (WINRAW) Alt key fix 2021-08-05 15:24:41 +03:00
twinaphex 5dd06ccfcd Get rid of duplicate input_keyboard_line_complete occurrences 2021-08-04 21:33:17 +02:00
Autechre 7b75dc4f9b Merge pull request #12737 from sonninnos/winraw-oem-keys
(WINRAW) Change legacy virtual keys to scan codes
2021-08-04 20:14:37 +02:00
sonninnos 2c47d94bf5 (WINRAW) Change legacy virtual keys to scan codes 2021-08-04 19:23:56 +03:00
Autechre e5dc368e20 Merge pull request #12735 from schellingb/rmsgpack_fixwrapintwrite
libretro-db fix writing of numerical values
2021-08-04 15:08:14 +02:00
Autechre 49632bbde9 Merge pull request #12733 from schellingb/explore_fixcrc32read
Fix CRC32 reading in explore menu
2021-08-03 19:53:01 +02:00
Autechre e58b2c9b6b Merge pull request #12734 from schellingb/rmsgpack_fixreadbigendian
Fix libretro-db loading on big endian platforms
2021-08-03 19:30:40 +02:00
Bernhard Schelling 9956ff041e Fix libretro-db loading on big endian platforms
Wrong casting did read garbage data for numerical values on big endian platforms.
Numerical values are used for array/map lengths so this could easily cause random crashes during parsing but also later while using the data.
Use union to avoid strict aliasing warnings.
2021-08-04 01:20:25 +09:00
Bernhard Schelling 2d1a657ba8 libretro-db fix writing of numerical values
Correctly write map lengths between 16 and 65535 to just 2 bytes and not 4.
Fix writing of numerical values between -31 and -1.
Fix writing of numerical values less than 256 on big endian platforms.
2021-08-04 01:15:21 +09:00
Bernhard Schelling 39275e8ce3 Fix CRC32 reading in explore
If CRC32 contained a zero byte strlen doesn't work
2021-08-03 23:38:37 +09:00
twinaphex bdba803909 wnd_proc_common_internal - move out code that was only relevant for
Winraw and put it into the Winraw specialized function callback, delay
initialization of mod variable until we use it
2021-08-03 13:46:58 +02:00
Adie 327f220857 Fix debug-level logging definitions
Both INFO and DEBUGGING log functions were outputting [INFO] logs.
I switched the debug log function to output debug logs instead of info logs, and changed the output of debug logs from [VERBOSE] to [DEBUG]
2021-08-02 22:58:39 -05:00
Nargash c844705665 Enable verbosity and logging before initial config file load 2021-08-02 20:31:48 -05:00
Mark W. Kidd 109f4fafec wayland input driver fixups 2021-08-02 18:05:24 -04:00
Autechre 0527d77de1 Merge pull request #12729 from libretro/revert-12420-Ocean_Blue_Ozone_Colour_theme
Revert "I have added a new theme for Ozone (Ocean Blue)"
2021-08-02 17:14:55 +02:00
Autechre f9c0cb198c Revert "I have added a new theme for Ozone (Ocean Blue)" 2021-08-02 17:14:45 +02:00
twinaphex e596bf7925 Buildfix for previous commit 2021-08-02 16:19:26 +02:00
twinaphex 2af9441d35 Create separate wnd_proc functions for winraw 2021-08-02 16:14:58 +02:00
Autechre f4b79ad13d Merge pull request #12727 from Jamiras/reset_challenge
(cheevos) hide challenge indicators when resetting
2021-08-02 15:47:41 +02:00
Autechre 0c7650c525 Merge pull request #12728 from amtz/udev-input
Limit udev device scan to subsystem 'input'
2021-08-02 15:47:23 +02:00
amtz d0612f906d Limit udev device scan to subsystem 'input'
This change makes the call to 'udev_enumerate_scan_devices' much faster.
In particular, for some bluetooth devices, this function may implicitly
read its battery's virtual file 'uevent', e.g.

/sys/devices/*/usb1/1-1/*/bluetooth/hci0/*/power_supply/hid-*-battery/uevent

Reading this file may (for unknown reasons) block up to 10 seconds.
Since udev_enumerate_scan_devices is called 4 times (for keyboard,
mouse, touchpad, and joypad) during startup this may cause a
considerable delay.

Limiting the scan to subsystem 'input' yields the same devices but makes
the scan faster and does not read 'uevent' of the input controller's
power_supply.
2021-08-02 13:17:00 +02:00
Brian Weiss 05b36ec374 hide challenge indicators when resetting 2021-08-01 19:54:51 -06:00
Autechre 1df4fa70e8 Update CHANGES.md 2021-08-01 22:38:06 +02:00
twinaphex 9dd06996c5 Skip state_manager_event_{deinit/init} when core type is dummy 2021-08-01 22:31:44 +02:00
Autechre c427e9d9ba Merge pull request #12420 from SecularSteve/Ocean_Blue_Ozone_Colour_theme
I have added a new theme for Ozone (Ocean Blue)
2021-08-01 22:22:26 +02:00
Autechre 18cc6b4bd9 Merge pull request #12545 from DisasterMo/testing
Move MENU_ENUM_LABEL_VALUE_ACHIEVEMENT_PAUSE_MENU to lbl.h
2021-08-01 22:17:06 +02:00
Autechre 2aee034a24 Update CHANGES.md 2021-08-01 22:15:08 +02:00
Autechre 10d7e4c643 Merge pull request #12724 from sonninnos/winraw-devicechange
(WINRAW) Trigger joypad driver reinit on DEVICECHANGE
2021-08-01 22:14:08 +02:00
sonninnos 2962707d5f (WINRAW) Trigger joypad driver reinit on DEVICECHANGE 2021-08-01 22:35:27 +03:00
Autechre 15d28fe2eb Merge pull request #12723 from QuarkTheAwesome/wiiu-salamander-ci-img 2021-08-01 06:19:06 +02:00
Ash Logan fe694b8f96 (WiiU) Use -wiiu build image rather than -devkitpro for salamander
A modern devkitPPC causes broken binaries at the moment, and recent 
changes to the wiiu image (wiiurpxtool) are missing
2021-08-01 14:14:57 +10:00
Autechre 8b1e816f77 Merge pull request #12721 from Xbox-Homebrew/master
replace win32 functions with UWP safe variants in UWP vfs driver
2021-07-31 21:01:46 +02:00
tunip3 9224329450 restore publisher name to libretro in identity element 2021-07-31 20:00:41 +01:00
Autechre 984d8e2584 Merge pull request #12717 from IlDucci/translationsupdatewithscript
Fetch translations from Crowdin 30-Jul-2021
2021-07-31 19:58:16 +02:00
Autechre 87f7a7f94d Merge pull request #12718 from Jamiras/cheevos_none
(cheevos) add messages for unknown game and network error
2021-07-31 19:58:09 +02:00
Autechre 85c73d523c Merge pull request #12720 from QuarkTheAwesome/wiiu-compression
(WiiU) Add RPX compression
2021-07-31 19:57:52 +02:00
Tunip3 be1a768bca improve uwp fileio by using from app variants whereever possible 2021-07-31 04:36:08 +01:00
Ash Logan 93649d9147 (WiiU) Compress RPX files w/ wiiurpxtool
Should be available on the buildbot now
2021-07-31 10:26:37 +10:00
Ash Logan 902c115d48 (WiiU) Add elf2rpl to clean target 2021-07-31 10:26:37 +10:00
Jamiras bb6911077a add messages for unknown game and network error 2021-07-30 11:16:12 -06:00
IlDucci 33ac1856f2 Fetch translations from Crowdin 30-Jul-2021 2021-07-30 17:06:13 +02:00
twinaphex 78341e5824 (D3D12) Fix some header includes 2021-07-30 15:18:56 +02:00
twinaphex ab9a4a95b1 (D3D12) Fix some header includes - probably a mistake that wiiu_dbg.h
was added to the d3d12.c driver
2021-07-30 15:16:14 +02:00
twinaphex b3aafd2f86 This makes the Explore tab show up again 2021-07-30 14:17:03 +02:00
Autechre b4ccf23701 Merge pull request #12708 from sonninnos/auto-mouse-grab
'Automatic Mouse Grab' option
2021-07-30 13:44:01 +02:00
Autechre 742e195172 Merge pull request #12700 from Jamiras/rapi_client
(cheevos) move client code into separate file
2021-07-30 13:11:08 +02:00
Autechre f831fe9ad0 Merge pull request #12712 from jdgleaver/gitlab-retrofw
(.gitlab-ci.yml) Add RetroFW target
2021-07-29 14:44:46 +02:00
jdgleaver e90f352c2f (.gitlab-ci.yml) Add RetroFW target 2021-07-29 13:18:52 +01:00
Autechre 0c2299396c Merge pull request #12711 from Poligraf/retrofw
Add retrofw port
2021-07-29 13:41:13 +02:00
Poligraf 9000e81498 Add retrofw port 2021-07-29 22:16:59 +12:00
Autechre 4714af546b Merge pull request #12710 from R-YaTian/master
libnx: Fix split joycons mode
2021-07-29 07:22:42 +02:00
twinaphex a40edc40e9 Bump version to 1.9.8 2021-07-29 06:22:58 +02:00
R-YaTian 1d988d374a libnx: Fix split joycons 2021-07-29 12:18:11 +08:00
Autechre d53ff1cc9b Update CHANGES.md 2021-07-29 06:13:33 +02:00
sonninnos 149beaf061 'Automatic Mouse Grab' option 2021-07-29 02:16:43 +03:00
Autechre 910d729d50 Merge pull request #12661 from markwkidd/menu-input
consolidate menu_input.h declarations
2021-07-29 01:14:06 +02:00
p-sam 0f5f8798ea libnx: input fixes
- fix poll missing for controller 2-8
- fix layout not applied correctly and hangs when splitting joycons
2021-07-28 21:49:09 +02:00
twinaphex 09d496b534 Rewrite DISPLAYLIST_AUDIO_SETTINGS_LIST 2021-07-28 17:36:35 +02:00
Jamiras 5ac432026a add helper function for accessing connection method 2021-07-27 21:02:14 -06:00
Autechre 8e9587f451 Merge pull request #12698 from Xbox-Homebrew/master
turn off core info cache by default on UWP
2021-07-26 21:22:16 +02:00
tunip3 9de0cc1ffe turn off core info cache by default on UWP 2021-07-26 20:17:35 +01:00
Autechre 0faddc91f7 Merge pull request #12696 from jdgleaver/override-fix
Ensure that config overrides and remaps are unloaded upon core initialisation failure and when core calls RETRO_ENVIRONMENT_SHUTDOWN
2021-07-26 19:12:27 +02:00
jdgleaver d2f8af553d Ensure that config overrides and remaps are unloaded upon core initialisation failure and when core calls RETRO_ENVIRONMENT_SHUTDOWN 2021-07-26 16:14:35 +01:00
Autechre 5c2f79aa29 Merge pull request #12694 from Xbox-Homebrew/master
Workaround Explore tab crash
2021-07-25 16:43:36 +02:00
twinaphex 9e1ad64e89 (winraw_input.c) Fixed some typos and style nits 2021-07-25 16:36:48 +02:00
Autechre 0d36cf2a4a Merge pull request #12692 from alphanu1/master
Fixed absolute co-ords for CRT and non CRT users
2021-07-25 16:34:30 +02:00
tunip3 61aeb982fd make it so that the explore tab is disabled by default on winrt devices 2021-07-25 14:35:02 +01:00
Ben Templeman 48e4b02fad Fixed absolute co-ords for CRT and non crt users
Fixed typo

added delay between winraw rect change to fix roslution changing issues.

added more comments

added delay reset

Fixed typo

updated comments

added RECT size to log

updated logging
2021-07-25 11:06:34 +01:00
twinaphex 8373ac6746 Bump version to 1.9.7 2021-07-25 07:58:25 +02:00
Autechre 73342af8b6 Merge pull request #12691 from fjtrujy/ps2_font_driver
Ps2 font driver
2021-07-24 17:38:55 +02:00
Francisco Javier Trujillo Mata d972f66faa Remove not needed import and PCSX2 macro 2021-07-24 10:32:09 +02:00
Francisco Javier Trujillo Mata dadf49764b Implement proper ps2_font driver instead of using the font driver from gskit 2021-07-24 10:32:09 +02:00
Jamiras c9ca0489ed allow concurrent POST requests to same URL 2021-07-23 22:04:42 -06:00
Jamiras bb2cf59a12 Merge branch 'master' into rapi_client 2021-07-23 19:41:37 -06:00
Mark W. Kidd e3d2a9b614 Merge branch 'master' of http://github.com/markwkidd/retroarch into menu-input 2021-07-23 10:27:49 -04:00
Autechre 1071c93c82 Merge pull request #12609 from markwkidd/input-drivers
add source comments to input_drivers.h
2021-07-23 06:33:08 +02:00
Autechre 773c7ed5ee Merge pull request #12688 from fjtrujy/bdm
Use BDM for increasing up USB stability
2021-07-22 22:09:33 +02:00
Autechre a65a5c675a Merge pull request #12684 from jdgleaver/rs90-scaling
(RS90) Add optional approximate 'semi-linear' scaling filter
2021-07-22 16:56:14 +02:00
Autechre 0ffd876115 Merge pull request #12686 from HyperspaceMadness/Max_Shader_Parameters_Increased_to_1024
Max_Shader_Parameters_Increased_to_1024
2021-07-22 16:45:17 +02:00
Remi McGill fdee0f4e7e Max_Shader_Parameters_Increased_to_1024 2021-07-22 10:20:50 -04:00
Francisco Javier Trujillo Mata 7f411db808 Use BDM for increasing up USB speed 2021-07-22 00:03:18 +02:00
jdgleaver 218286aa99 (RS90) Add optional approximate 'semi-linear' scaling filter 2021-07-21 14:11:42 +01:00
Autechre d4d9129ad4 Merge pull request #12678 from QuarkTheAwesome/ozone-icons
(Ozone) Use Ozone icons instead of XMB Monochrome
2021-07-20 14:59:08 +02:00
Autechre be89054d07 Merge pull request #12681 from QuarkTheAwesome/gx2-scissorfix
(Wii U) Fix Ozone rendering error
2021-07-20 14:58:53 +02:00
Autechre 28043d88b0 Merge pull request #12682 from QuarkTheAwesome/wiiu-fontalias
(Wii U) Font rendering fixes
2021-07-20 14:58:34 +02:00
Ash Logan 60c32fe494 (Wii U) Render font lines with correct spacing
No idea about this one, borrowed code from the Vita and it makes 
multi-line rendering look correct again
2021-07-20 20:05:44 +10:00
Ash Logan 20e70f9caa (Wii U) Only sample alpha channel when rendering fonts
The font backend provides only the alpha channel for a given glyph, but 
we were sampling that channel for the r, g, b and a. Fix by hard-coding 
the sampled colour to white - the actually desired colour is multiplied 
in later.
2021-07-20 19:57:35 +10:00
Ash Logan 4621ed7dcc (Wii U) Display scissor doesn't use inverted coordinates
Unlike the draw callback, seems the scissor callback does *not*
have an inverted y-coordinate. Yay!
2021-07-20 18:51:53 +10:00
twinaphex 646cadba8c Another style nit 2021-07-20 05:23:12 +02:00
twinaphex edd9ed3619 Fix some style nits 2021-07-20 05:13:52 +02:00
Autechre 53a35e87c3 Merge pull request #12680 from jdgleaver/core-info-cache-auto-disable
Automatically disable core info cache when core info directory is read-only
2021-07-20 02:46:50 +02:00
Ash Logan e9a5625445 (Wii U/Vita) Use Ozone icons instead of XMB Monochrome
The Ozone icons are small pngs, 46x46, while the XMB Monochrome icons 
are 256x256, which do not look good on low-dpi screens when downscaled 
so extremely.
2021-07-20 08:59:16 +10:00
Mark W. Kidd 8038d899d6 add documentation to input_driver.h 2021-07-19 12:05:28 -04:00
jdgleaver e306dd8eeb Automatically disable core info cache when core info directory is read-only 2021-07-19 16:39:18 +01:00
Autechre 8db304328c Merge pull request #12679 from jdgleaver/rgui-start-fs-thumbs
(RGUI) Enable fullscreen thumbnail toggle using RetroPad 'start' button
2021-07-19 15:41:14 +02:00
jdgleaver af88aaee77 (RGUI) Enable fullscreen thumbnail toggle using RetroPad 'start' button 2021-07-19 14:15:28 +01:00
Autechre ea18d4ffcb Merge pull request #12676 from QuarkTheAwesome/kpad-fix
(Wii U) Fix inputs breaking when connecting/disconnecting remotes
2021-07-19 14:24:51 +02:00
Ash Logan 27b02d66aa (Wii U) Ignore some bogus KPAD results
This API is completely bonkers, seems to have no idea what the error 
conditions are
2021-07-19 16:59:41 +10:00
Autechre 8bde566019 Merge pull request #12664 from markwkidd/upnp-error
clarify netplay upnp port mapping status messages
2021-07-19 02:11:44 +02:00
Autechre 7cb5857ed3 Merge pull request #12675 from gouchi/have_extralang
intl: Add missing languages for the first startup
2021-07-19 02:11:28 +02:00
Autechre 48830e72df Merge pull request #12665 from embercold/fix-xdg-screensaver
Prevent xdg-screensaver's "Protocol error" messages
2021-07-19 02:04:11 +02:00
gouchi fcefefaeab intl: Add missing languages for the first startup 2021-07-18 22:40:01 +02:00
Autechre 21cf6b89a8 Merge pull request #12671 from QuarkTheAwesome/http-progress-fix
(task_http.c) Fix progress indication for large files on 32-bit systems
2021-07-18 22:16:18 +02:00
Autechre c007a81103 Merge pull request #12672 from QuarkTheAwesome/network-fixes
(Wii U) Network speed optimisations
2021-07-18 22:16:01 +02:00
Autechre 80fc5062c1 Merge pull request #12673 from QuarkTheAwesome/filesystem-opt
(Wii U) Filesystem optimisations
2021-07-18 22:15:41 +02:00
Jamiras da8f257323 log retry delay when automatically retrying network failure 2021-07-18 09:49:30 -06:00
Ash Logan e43f07b85b wiiu: Add fastpath for already aligned buffers 2021-07-18 22:33:26 +10:00
Ash Logan a3be19214e vfs: Use 128k vbufs for Wii U
We have loads of RAM and large vbufs are *very* beneficial
2021-07-18 22:33:17 +10:00
Ash Logan 90040117af deps/libfat: Increase cache size on Wii U
We got lotsa RAM! See 
https://github.com/aliaspider/wiiu/blob/5be1be8e66c60a6c7ffd3bb47bbd2a72077b3f12/libfat/common.h#L62-L66
2021-07-18 22:33:12 +10:00
Ash Logan 5887016db3 deps/libiosuhax: Update to wiiu-env/libiosuhax@69532cf 2021-07-18 22:33:06 +10:00
Ash Logan e5553bde4e wiiu: Network optimisations - WINSCALE, TCP sACK, large buffers
See code sample in https://github.com/devkitPro/wut/issues/169 and 
https://github.com/Laf111/WiiUFtpServer/blob/243078940681175ef2901415a5498f0d759d4c0e/src/net.c#L88
2021-07-18 21:02:56 +10:00
Ash Logan a35323ace9 (task_http.c) Use 100% as maximum, not minimum
With previous logic, any normal percentage would get MAX'd to 100% 
(max(70, 100) == 100). Correct math to use here is min
2021-07-18 14:47:25 +10:00
Ash Logan 6521bfcdc1 gitignore: Don't ignore some of the Wii U sources 2021-07-17 12:16:18 +10:00
Autechre e5bbd9488f Merge pull request #12666 from jdgleaver/odbeta-snes-scaling-fix
(OpenDingux Beta) Fix IPU scaling when running 256x224 (SNES/Genesis) content
2021-07-16 19:04:57 +02:00
jdgleaver 6b65daf07d (OpenDingux Beta) Fix IPU scaling when running 256x224 (SNES/Genesis) content 2021-07-16 17:48:03 +01:00
Mark W. Kidd 03f2d2376e clarify netplay upnp port mapping messages 2021-07-16 11:20:13 -04:00
Ember Cold 214a80b338 Prevent xdg-screensaver's "Protocol error" messages 2021-07-16 17:21:11 +03:00
Mark W. Kidd 64672b4b63 consolidate menu_input.h declarations 2021-07-15 14:19:38 -04:00
Autechre d1c03b22e3 Merge pull request #12660 from libretro/vitapig
Vita: wrong flags for not piglet version
2021-07-15 19:58:52 +02:00
Francisco José García García 260352aa9e Vita: wrong flags for not piglet version 2021-07-15 19:21:33 +02:00
Autechre 2ea76c6188 Merge pull request #12659 from jdgleaver/rs90-appdata-sd
(RS-90) Move appdata (retroarch) base directory to external microsd card
2021-07-15 18:50:22 +02:00
jdgleaver 9e100b752e (RS-90) Move appdata (retroarch) base directory to external microsd card 2021-07-15 16:56:23 +01:00
Autechre 23b8652656 Merge pull request #12655 from jdgleaver/rs90-disable-flags
(RS-90) Disable unnecessary/inappropriate build flags
2021-07-15 17:06:56 +02:00
Autechre c88226188f Merge pull request #12656 from jdgleaver/rs90-hide-video-filter
(RS-90) Hide 'Bilinear Filtering' video option
2021-07-15 17:06:39 +02:00
Autechre c3fee95273 Merge pull request #12657 from IlDucci/translationsupdatewithscript
Fetch translations from Crowdin 15-Jul-2021
2021-07-15 17:06:26 +02:00
IlDucci 7900ba604f Fetch translations from Crowdin 15-Jul-2021 2021-07-15 15:21:27 +02:00
jdgleaver 21228cfbd4 (RS-90) Hide 'Bilinear Filtering' video option 2021-07-15 11:53:07 +01:00
jdgleaver 0437659490 (RS-90) Disable unnecessary/inappropriate build flags 2021-07-15 11:15:55 +01:00
Autechre d8f780848a Merge pull request #12653 from jdgleaver/rs90-osd-fix
(RS-90) Fix offset of OSD text
2021-07-14 17:52:30 +02:00
jdgleaver 14580e5f6f (RS-90) Fix offset of OSD text 2021-07-14 16:44:30 +01:00
Autechre 0ad936f600 Merge pull request #12651 from jdgleaver/rgui-sublabel-length-fix
(RGUI) Fix sublabel length when menu clock is disabled
2021-07-14 17:39:29 +02:00
Autechre 607711d3f9 Merge pull request #12652 from jdgleaver/rs90-hide-clock
(RS-90) Disable menu clock by default
2021-07-14 17:39:23 +02:00
jdgleaver 7439f4d6d0 (RS-90) Disable menu clock by default 2021-07-14 15:27:07 +01:00
jdgleaver 137f18bed1 (RGUI) Fix sublabel length when menu clock is disabled 2021-07-14 15:03:29 +01:00
jdgleaver 7af4f6e84d (.gitlab-ci.yml) Add RS-90 target 2021-07-14 13:01:30 +02:00
Autechre b644a37622 Merge pull request #12647 from jdgleaver/dingux-frameskip-fix
(Dingux) Fix display when cores 'drop' frames
2021-07-13 21:42:02 +02:00
Autechre e1daabde65 Merge pull request #12592 from john-parton/feature/rs90
[DRAFT] RetroMini RS-90 Support
2021-07-13 20:25:27 +02:00
Autechre ec685d051e Merge pull request #12648 from jdgleaver/odbeta-alsa-default
(Dingux Beta) Use ALSA audio driver by default
2021-07-13 20:25:10 +02:00
John Parton f6aeb717ba Basic rs90 build
DINGUX_BETA has clock_gettime libogc
Add tinyalsa support to rs90
2021-07-13 11:36:48 -05:00
jdgleaver 54706bec8a (Dingux Beta) Use ALSA audio driver by default 2021-07-13 14:18:11 +01:00
jdgleaver eb259174b8 (Dingux) Fix display when cores 'drop' frames 2021-07-13 13:11:19 +01:00
Autechre 3bc06b0d57 Merge pull request #12588 from alphanu1/master
Fixed some Monitor index bugs ad updated to the latest SR2
2021-07-12 16:49:44 +02:00
Autechre 7f4f1d82bb Merge pull request #12644 from jdgleaver/fpu-fix
(Menu+Widgets) Add workaround for FPU bug that breaks scale factor comparisons on certain platforms (fixes XMB thumbnails on 32bit Linux/Windows)
2021-07-12 16:49:28 +02:00
Autechre b5c5508e62 Merge pull request #12643 from crystalct/master
First basic RSX driver for PSL1GHT
2021-07-12 15:12:57 +02:00
jdgleaver 7a3d78b1c0 (Menu+Widgets) Add workaround for FPU bug that breaks scale factor comparisons on certain platforms (fixes XMB thumbnails on 32bit Linux/Windows) 2021-07-12 12:14:55 +01:00
CrystalCT 89b46bc246 First basic RSX driver for PSL1GHT 2021-07-12 09:35:44 +02:00
Autechre 32ed7ed1d7 Merge pull request #12508 from CTCaer/unix-bl-bri-fix
plat: unix: correct backlight max_brightness path
2021-07-11 18:35:59 +02:00
Autechre e4fd172892 Merge pull request #12639 from MrHuu/master
(3DS) Add unique ID's
2021-07-11 17:38:21 +02:00
MrHuu 57c52e4fc7 (3DS) Add unique ID's
add lowresnx
add vice_xcbm5x0
add vice_xscpu64
2021-07-11 15:03:10 +02:00
Autechre bd04a6412d Merge pull request #12638 from MrHuu/master
(3DS) Add ID for genesis_plus_gx_wide core
2021-07-11 13:41:52 +02:00
MrHuu 902949ea94 (3DS) Add ID for genesis_plus_gx_wide core 2021-07-11 13:04:22 +02:00
John Parton 57bd538996 Enable tinyalsa on OpenDingux
Use same #define pattern to make OpenAL default as alsa branch
2021-07-10 19:20:53 -05:00
Autechre 0570ed4ca3 Merge pull request #12634 from NicolasRoehm/patch-1
[Upd] error message
2021-07-11 01:14:41 +02:00
Nicolas Roehm b3c929499e [Upd] error message 2021-07-10 14:10:12 +02:00
Aleksey Samoilov 6bc9181bc9 Remove xdg_shell_v6 from wayland_vk 2021-07-10 14:52:16 +04:00
Aleksey Samoilov b153087fa4 Remove xdg-shell-v6 fom Makefile.common 2021-07-10 14:44:04 +04:00
Aleksey Samoilov 146804fcbc Remove xdg_shell_v6 support 2021-07-10 14:22:58 +04:00
Autechre 0d46eb9066 Merge pull request #12612 from guoyunhe/crowdin
Fetch translations from Crowdin
2021-07-09 16:39:49 +02:00
Autechre acf5c2e992 Merge pull request #12628 from markwkidd/nat-fix
implement natt fix from void()
2021-07-09 15:31:17 +02:00
Autechre 7b55b03c96 Merge pull request #12617 from markwkidd/input-cleanup
consolidate 'input define' enums to input_defines.h
2021-07-09 15:30:02 +02:00
Autechre 0216aab022 Merge pull request #12630 from sonninnos/av_info-log
AV_INFO logging details
2021-07-09 15:17:06 +02:00
sonninnos c10bac6558 AV_INFO logging details 2021-07-09 16:06:56 +03:00
Mark W. Kidd d4fb27a7a9 implement natt fix from void() 2021-07-08 22:52:19 -04:00
twinaphex 4803100dc4 (UWP/Xbox) Should fix display issues with Dolphin/PCSX2 on Xbox 2021-07-08 20:50:54 +02:00
Autechre ed3412c004 Merge pull request #12618 from markwkidd/input-remapping
consolidate and comment input_remapping.h
2021-07-08 14:22:51 +02:00
Autechre 63acb6173a Merge pull request #12619 from xenomorph-us/patch-1
HTTPS link to EditorConfig.org
2021-07-08 14:18:21 +02:00
Autechre 375eb4b852 Merge pull request #12459 from toshixm/fix_12103
Fix garbled path string
2021-07-08 12:05:07 +02:00
Autechre 7dba607d76 Merge pull request #12579 from grant2258/touchpad
udev fixes add pointer pressed to pointer device to allow udev users to access this device
2021-07-08 12:04:04 +02:00
Autechre 7d9d57dc50 Merge pull request #12564 from sonninnos/integer-overscale
Integer overscale option
2021-07-08 12:03:28 +02:00
Autechre 27fbb3f971 Merge pull request #12568 from john-parton/feature/enable-alsa-opendingux-beta
Re-enable alsa on opendingux beta
2021-07-08 11:33:00 +02:00
Autechre 9188c4a7f0 Merge pull request #12610 from confusedguy9/patch-1
Enable 7z support for Switch
2021-07-08 11:08:24 +02:00
Autechre ea7e9aaa61 Merge pull request #12616 from HyperspaceMadness/Aspect_Ratio_Full
Added Aspect Ratio Full
2021-07-08 11:07:45 +02:00
Autechre 9e85eec4a7 Merge pull request #12621 from JustMeDaFaq/master
Default to d3d11 on UWP builds
2021-07-08 11:07:29 +02:00
Jamiras 41e25902a1 use non-HTTPS until everything is converted 2021-07-08 00:57:35 -06:00
Jamiras bc4a9a3696 separate ping task handler from retry task handler 2021-07-08 00:52:19 -06:00
Jamiras 46ffe5f4b2 use case-corrected username for server calls 2021-07-08 00:33:45 -06:00
Jamiras 7aca71e625 convert to rapi 2021-07-07 23:51:45 -06:00
Jamiras f556eba0a3 move async API code to cheevos_client.c 2021-07-07 19:59:57 -06:00
Ben Templeman 197203d09b Fixed monitor index corruption on Windows and added correct fractal scalling. only used when required.
Updated log defines to match SR upstream.

Added new SR_CONFIG_PATHS for non Winddows and Linux systems.
Not that SR works on them but to fix RA compile issues

Updated SR2 code base to latest. Added supprt for windows monitor indexing.
Fixed monitor index bug where index 1 was not being used corretly
and "auto" was not being sent.

Updated swithres for x86 windows fix
fixed SR2 auto issue

Fixed auto monitor bug

Fixed monitor index corruption on Windows

Fixxed buffer size bug

Added correct fractal scalling. only used when required.
2021-07-07 18:06:47 +01:00
HyperspaceMadness d14c4d2883 Added Aspect Ratio Full
Fixes

Fixes

Moved ASPECT_RATIO_FULL to end of list, added TODO

Fixed Full Order

Fixed UI Visibility
2021-07-07 09:37:36 -04:00
Autechre 4954af9dc7 Merge pull request #12613 from mahoneyt944/patch-1
add mame2003 / mame2003-plus to web.libretro
2021-07-07 02:14:11 +02:00
Mark W. Kidd b17dd28ff2 consolidate and comment input_remapping.h 2021-07-06 16:13:43 -04:00
JustMeDaFaq 6e61eb084a Default to d3d11 on UWP builds
Even if compiled with ANGLE, lets default to d3d11 since ANGLE is calling D3D anyway. 
That makes cores like PCSX2 and Duckstation boot proper with default settings, ANGLE cores still switching automatically.
2021-07-06 19:51:42 +02:00
xenomorph-us d0212ec5aa HTTPS link to EditorConfig.org 2021-07-06 13:55:43 +09:00
Mark W. Kidd 523d7d6ee8 consolidate input defines 2021-07-05 15:18:17 -04:00
mahoneyt944 647e39afaa add mame2003 / mame2003-plus 2021-07-04 18:23:38 -04:00
Guo Yunhe 7b46cca917 Fetch translations from Crowdin 2021-07-04 21:43:39 +08:00
Autechre f93499181c Update CHANGES.md 2021-07-04 14:07:31 +02:00
confusedguy9 c31e0ba9b9 Enable 7z support for Switch 2021-07-04 14:46:41 +08:00
Autechre 4a6dc36b1c Update CHANGES.md 2021-07-04 02:39:40 +02:00
Autechre c6967f56bd Merge pull request #12606 from jdgleaver/hide-add-to-favourites
Hide 'Add to Favorites' when viewing an entry of the favorites playlist
2021-07-02 23:20:56 +02:00
jdgleaver 0e654c8e9e Hide 'Add to Favorites' when viewing an entry of the favorites playlist 2021-07-02 16:29:11 +01:00
Autechre e1270742b9 Merge pull request #12582 from markwkidd/input-drivers
add comments in order to document input_driver.h
2021-07-02 00:21:09 +02:00
Autechre 1c87853496 Merge pull request #12595 from IlDucci/translationsupdatewithscript
Fetch translations from Crowdin 30-Jun-2021
2021-07-01 09:03:32 +02:00
Autechre 119788593c Merge pull request #12598 from markwkidd/input-cleanup
remove unused enum input_device_type from input_driver.h
2021-07-01 04:29:51 +02:00
Mark W. Kidd fb2b3695d9 remove unused enum input_device_type 2021-06-30 19:05:56 -04:00
IlDucci aacf2bed34 Fetch translations from Crowdin 30-Jun-2021 2021-06-30 14:54:34 +02:00
Autechre badd588652 Merge pull request #12590 from jdgleaver/playlist-path-id-cache
(Playlist) Optimise scanning of large rom sets
2021-06-30 05:08:10 +02:00
Autechre a40c3767bb Merge pull request #12591 from jdgleaver/qt-default-core-fix
(Qt) Fix default core detection when playlist file name does not match 'db_name'
2021-06-30 05:07:57 +02:00
Mark W. Kidd b0831bf1a0 comment documentation for input_driver.h 2021-06-29 20:12:44 -04:00
jdgleaver d1f7d8af0d (Qt) Fix default core detection when playlist file name does not match 'db_name' 2021-06-29 16:51:20 +01:00
jdgleaver f7f007519c (Playlist) Optimise scanning of large rom sets 2021-06-29 14:50:19 +01:00
Autechre 92a098ee02 Merge pull request #12586 from jdgleaver/archive-delim-fix
Fix archive delimiter detection when file path contains no slashes
2021-06-29 00:10:46 +02:00
M4xw d00c2a6407 [Libnx] Style nits 2021-06-28 17:38:17 +02:00
M4xw 991b43d4ee [Libnx] Changed PSM Defines 2021-06-28 17:38:17 +02:00
p-sam ac8a977492 Replace deprecated HID APIs 2021-06-28 17:38:17 +02:00
p-sam 1bc588acbd Fix building with libnx 4.0.0 2021-06-28 17:38:17 +02:00
jdgleaver eafeb83d0b Fix archive delimiter detection when file path contains no slashes 2021-06-28 10:40:37 +01:00
Autechre 2e215bda5b Update CHANGES.md 2021-06-27 07:03:00 +02:00
twinaphex 0a5fd837a2 Bump up version to 1.9.6 2021-06-27 06:43:27 +02:00
Autechre edf10b576f Merge pull request #12580 from john-parton/bugfix/rg350_stripping
Remove bash-ism which was preventing strip from working on OpenDingux
2021-06-27 06:08:32 +02:00
twinaphex 46dcf1204e Revert "Backport tunip3 - replace win32 functions with UWP safe variants in UWP vfs driver"
This reverts commit 585af66b5c.
2021-06-27 05:39:48 +02:00
John Parton 5feeb362b1 Remove bash-ism which was preventing strip from working on OpenDingux 2021-06-26 21:08:22 -05:00
Grant d6a1c21fe1 udev fixes] 2021-06-26 23:09:47 +01:00
Autechre 67358fb145 Merge pull request #12578 from libretro/revert-12571-bugfix/rg350_stripping
Revert "Fix strip on rg350 and rg350_odbeta"
2021-06-26 23:45:13 +02:00
Autechre 41fbbda8e8 Revert "Fix strip on rg350 and rg350_odbeta" 2021-06-26 23:45:06 +02:00
John Parton b1b5148090 Enable Alsa/Alsa_thread on OpenDingux, but not alsa midi driver, keeping
openal the default audio driver
2021-06-26 14:54:42 -05:00
Autechre bd1d39d7fb Merge pull request #12571 from john-parton/bugfix/rg350_stripping
Fix strip on rg350 and rg350_odbeta
2021-06-26 19:09:45 +02:00
twinaphex b2c7fae912 desc.Flags should also be commented out for now 2021-06-26 05:46:37 +02:00
twinaphex 13e88ebe74 (D3D11) Disable tear control support for UWP for now 2021-06-26 05:40:41 +02:00
John Parton d5d6b1d91e Make stripping conditional again on rg350 builds (remove bashism) 2021-06-25 12:09:36 -05:00
John Parton 8915d82fd6 Always strip on rg350 and rg350_odbeta 2021-06-25 00:32:38 -05:00
Autechre 0785d4aa72 Merge pull request #12565 from Jamiras/measured_unlock
(cheevos) reset cached progress each time menu is opened
2021-06-24 05:48:23 +02:00
Jamiras 0744683c2b reset cached progress each time menu is opened 2021-06-23 17:29:12 -06:00
sonninnos b483f233d2 Integer overscale option 2021-06-24 00:56:52 +03:00
twinaphex 55afe18872 Move D3D11Draw call back for now - should make OSK work again and
shaders
2021-06-23 19:34:06 +02:00
Autechre f83e614b4e Merge pull request #12563 from IlDucci/translationsupdatewithscript2
'Fetch translations from Crowdin 23-Jun-2021'
2021-06-23 18:46:30 +02:00
Autechre 5dc070f041 Merge pull request #12562 from jdgleaver/input-adc-type-improvements
'Analog to Digital Type' usability improvements
2021-06-23 18:46:05 +02:00
twinaphex 585af66b5c Backport tunip3 - replace win32 functions with UWP safe variants in UWP vfs driver 2021-06-23 18:45:07 +02:00
IlDucci c8241f3f21 'Fetch translations from Crowdin 23-Jun-2021' 2021-06-23 16:00:53 +02:00
jdgleaver 3a82cf980d 'Analog to Digital Type' usability improvements 2021-06-23 14:28:45 +01:00
Autechre 7b47f5f49a Merge pull request #12556 from sonninnos/winraw-mouse
(WINRAW) Mouse access violation fix
2021-06-23 00:19:37 +02:00
Autechre 94e4b1883a Merge pull request #12557 from grant2258/logging
fix up logging that can confuse users
2021-06-23 00:18:40 +02:00
Grant c73592d379 skip mouse with no button errors and keep the rest 2021-06-22 23:00:50 +01:00
Grant 4ba0ba4c70 fix up logging that can confuse users 2021-06-22 22:06:19 +01:00
sonninnos 11dba60ea7 (WINRAW) Mouse access violation fix 2021-06-22 19:47:56 +03:00
twinaphex 97ad8cbfd2 Remove this code for Vulkan over X too 2021-06-22 18:26:32 +02:00
twinaphex b5be2006f2 Remove commented out code 2021-06-22 18:25:54 +02:00
Autechre 8ec39ca7ec Merge pull request #12550 from grant2258/fix_x11
fix x11 threaded videoc segfault
2021-06-22 18:24:32 +02:00
Autechre bd937eb49f Merge pull request #12536 from grant2258/udev
only add mouse if it has buttons and add vebose device friendly names
2021-06-22 17:23:19 +02:00
Autechre 23b810b820 Merge pull request #12552 from stenzek/fix-d3d11-again
(d3d11) Fix non-vsynced output without flip, black screens in fullscreen
2021-06-22 13:40:01 +02:00
Connor McLaughlin 322aeb4e46 (d3d11) Don't pass ALLOW_TEARING to present when unsupported 2021-06-22 14:04:32 +10:00
Connor McLaughlin ed2d6b1730 (d3d11) Don't draw content without a texture bound 2021-06-22 14:04:32 +10:00
Connor McLaughlin 9afa30af5e (d3d11) Disable DXGI's ALT+ENTER handling 2021-06-22 14:04:31 +10:00
Connor McLaughlin 5d3719df44 (gfx) Fix uninitialized variables in gfx_display_draw_cursor 2021-06-22 13:52:13 +10:00
twinaphex 3f00d2f041 (Resampler) Cleanups 2021-06-22 01:14:32 +02:00
twinaphex a30a86a09c (D3D11) Fixes Xbox again, do tear control checks only for non-UWP
- TODO/FIXME still has to be resolved, see comment at line 1362
2021-06-22 00:41:56 +02:00
Grant bd10e5bdc3 fix x11 threaded videoc segfault 2021-06-21 21:12:26 +01:00
twinaphex 0e1d5ba30e Silence some warnings; cleanup 2021-06-21 21:15:03 +02:00
Autechre 10f42d7034 Merge pull request #12549 from sonninnos/xmb-opacity
(XMB) Icon opacity fix
2021-06-21 20:48:19 +02:00
Autechre 6986caed5b Merge pull request #11388 from pjft/dual-lightgun
Change udev driver for dual lightgun support in X11
2021-06-21 18:06:35 +02:00
sonninnos c802a549f6 (XMB) Icon opacity fix 2021-06-21 16:46:58 +03:00
Autechre 0a75b51b29 Merge pull request #12534 from jdgleaver/input-port-remapping
Add support for mapping multiple controllers to a single input device
2021-06-21 15:28:34 +02:00
Autechre 0c64ac0bde Merge pull request #12423 from markwkidd/lightgun-bind
bind lightgun trigger to first mouse button by default
2021-06-21 14:12:25 +02:00
Autechre 15b0f5478f Merge pull request #12485 from Kopert/master
Add support for core and directory overrides of switchres.ini files
2021-06-21 14:12:15 +02:00
Autechre a6b0199204 Merge pull request #12511 from markwkidd/android-input-fix
[Android input driver] do not duplicate port 0 mouse and gun inputs to other ports
2021-06-21 14:12:02 +02:00
jdgleaver 973f5cda6d Add support for mapping multiple controllers to a single input device 2021-06-21 12:42:38 +01:00
twinaphex 46a318db45 C89 buildfix 2021-06-20 23:02:55 +02:00
Michael Burgardt 1657d67182 Move MENU_ENUM_LABEL_VALUE_ACHIEVEMENT_PAUSE_MENU to lbl.h 2021-06-20 22:15:31 +02:00
Autechre 7949a9c8ad Merge pull request #12528 from IlDucci/crowdinfix-20210615
Fix Encore Mode on Github, minor English change
2021-06-20 16:55:07 +02:00
Autechre 2ae11b7222 Merge pull request #12541 from sonninnos/xmb-dynamic
(XMB) Dynamic wallpaper improvement
2021-06-20 16:54:49 +02:00
Autechre f05c124c98 Merge pull request #12540 from sonninnos/d3d12
D3D12 Updates
2021-06-20 14:59:11 +02:00
Alcaro 5f182fa564 Don't send speech input as command line argument (#12539)
* Don't send speech input as command line argument

* Fix a C++-only construct, and simplify some stuff
2021-06-20 14:39:14 +02:00
Kopert c2d5003f80 Add support for switchres.ini core and directory overrides 2021-06-20 02:31:10 -03:00
Grant 6e2709d62a cleanup 2021-06-19 08:47:35 +01:00
Grant eef86d5f72 fix game focus mode 2021-06-19 07:59:06 +01:00
Grant 863aaa5b9d Revert "fix game focus mode on udev as well"
This reverts commit 54eed63418.
2021-06-19 07:44:02 +01:00
Grant 54eed63418 fix game focus mode on udev as well 2021-06-19 07:00:09 +01:00
sonninnos 7695298dfc (XMB) Dynamic wallpaper improvement 2021-06-18 23:03:34 +03:00
sonninnos 917fb1f796 D3D12 Updates:
- Relocated 'd3d12_gfx_sync()'
- Fixed swap interval option
- Cleanups
2021-06-18 21:54:36 +03:00
Jamiras 81075aa5fa put challenge indicator above leaderboard trackers (#12530) 2021-06-18 18:00:48 +02:00
Tony ff7982fbcd (XMB) Dynamic wallpaper fix (#12531) 2021-06-18 18:00:37 +02:00
Grant 7915b040a9 only add mouse if it ha buttons and add vebose device friendly names 2021-06-18 03:55:25 +01:00
twinaphex a129764f0d Change C++ comment to C 2021-06-17 05:45:59 +02:00
Alcaro aeddcb54e0 Plug this so-called high-risk vuln (#12533)
https://www.reddit.com/r/RetroArch/comments/o0p1vy/retroarch_for_windows_versions_190_194_highrisk/

https://labs.bishopfox.com/advisories/retroarch-for-windows-version-1.9.0
2021-06-17 05:44:17 +02:00
Michael BurgardtandMichael Burgardt 10f0073778 adjust h2json and json2h scripts to be comment agnostic (#12532)
Co-authored-by: Michael Burgardt <[email protected]>
2021-06-16 17:21:57 +02:00
twinaphex 8b6e58eebd Buildfix for D3D11 - courtesy of Stenzek 2021-06-16 16:07:38 +02:00
Tony 49bd8d2d27 (XAudio+DSound) Fail instead of crash (#12527) 2021-06-16 15:35:20 +02:00
Connor McLaughlin 946d87cf89 (gfx/d3d11) Don't use allow tearing flag with blit swap chains (#12529) 2021-06-16 15:19:27 +02:00
IlDucci 138d5b3a4e Fix Encore Mode on Github, minor English change
- Fixes the Encore Mode string being misread by the Crowdin scripts.
 - Minor change on MENU_ENUM_SUBLABEL_CRT_SWITCH_HIRES_MENU's structure (by @DisasterMo, he asked me to do so).
2021-06-15 11:33:50 +02:00
Víctor "IlDucci cdba9accdf [Localization] Manually updating the .h translation files (#12494)
Second attempt at manually updating the translations from Crowdin. Built locally today.

Huge thanks to @DisasterMo for helping with the required edits on the python files (not uploaded to avoid messing with guoyunhe's setup)!

Moving the comment that breaks the script to a better position.
2021-06-15 03:04:49 +02:00
tunip3 963350a0f2 Add expanded resources Rescap to increase performance of UWP version in app mode on Xbox (#12525)
* add expanded resources rescap

* add expanded resources rescap
2021-06-15 03:04:10 +02:00
Michael Burgardt dd48b65687 Fix Switchres menu texts (#12526) 2021-06-15 03:03:10 +02:00
jdgleaver 642d6c9fb8 (Ozone) Ensure sidebar display status is updated correctly when performing rapid menu navigation (#12524) 2021-06-14 13:58:39 +02:00
twinaphex 6738fa57aa Bump up version to 1.9.5 2021-06-13 03:07:51 +02:00
jdgleaver d40d7c389b (Dingux) Fix black screens when triggering gfx driver reinitialisation via menu actions (#12521) 2021-06-13 00:37:48 +02:00
jdgleaver 3c2e3f1ce9 Add enhanced search functionality to the 'Manage Cores' menu (#12516) 2021-06-11 21:17:32 +02:00
twinaphex 766c59d469 Apply this to make MSVC 2005 compile with new resampler 2021-06-11 12:07:16 +02:00
twinaphex 7492f5d60c Revert "Add HAVE_GRIFFIN fallback for now"
This reverts commit dc50ff584e.
2021-06-11 12:05:59 +02:00
twinaphex bd9c35d379 Revert "Rollback changes for now until we can get this compiling on MSVC 2005 on"
This reverts commit 08481e2a68.
2021-06-11 12:05:48 +02:00
Jamiras 5d4069cf8f update to rcheevos 10.1 (#12512) 2021-06-10 17:20:00 +02:00
dankcushions 0caeed6e1d Make alsathread default for all alsa devices with threads. (#12515) 2021-06-10 17:19:52 +02:00
Bernhard Schelling 98194ce135 Allow the 8 analog stick directions to be used as keys for core keyboard mappings (#12506) 2021-06-10 17:00:33 +02:00
Michael Burgardt 4dcda032d0 Added list entry enumeration to XMB (#12427) 2021-06-10 16:02:19 +02:00
Mark W. Kidd f74fddf3fd do not duplicate port 0 mouse and gun inputs to other ports 2021-06-09 17:20:13 -04:00
twinaphex 08481e2a68 Rollback changes for now until we can get this compiling on MSVC 2005 on
the commandline (it builds with the VS solution file but not CLI)
2021-06-09 16:39:43 +02:00
twinaphex dc50ff584e Add HAVE_GRIFFIN fallback for now 2021-06-09 16:33:32 +02:00
CTCaer 98be8f0c22 plat: unix: correct backlight max_brightness path
We are assuming that device has its backlight device symlinked to /sys/class/backlight/backlight so this should be stated.

Additionally any hardcoding should be disallowed and the symlink should be always used.
2021-06-09 13:16:37 +03:00
Tony 3647bdef0f (D3D) Logging + dupe code cleanups (#12501) 2021-06-09 06:33:14 +02:00
Jamiras 75fcd63b4a (cheevos) use common functionality moved into rcheevos (#12504)
* user rcheevos for disallowed_settings

* use rcheevos for memory map
2021-06-09 06:32:34 +02:00
Tony 27cacffe54 Fix frame delay limit in conf read (#12507) 2021-06-09 06:32:01 +02:00
Autechre 74d85e3269 Backport optimizations from foobar2K 2021-06-09 06:05:14 +02:00
twinaphex 9d92888846 Add else path for defining SR_CONFIG_PATH 2021-06-07 19:15:37 +02:00
jdgleaver adfabcb742 Fix '--disable-crtswitchres' configure option (#12500) 2021-06-07 17:39:18 +02:00
twinaphex 620302ddaa (Switchres) Fix debug 2021-06-07 15:59:39 +02:00
Autechre da9f87c63f Update CHANGES.md 2021-06-07 15:54:08 +02:00
Autechre fe2fd18aad Merge pull request #12496 from sonninnos/framedelay-range
Extend frame delay range
2021-06-07 15:53:09 +02:00
Autechre 1c61068291 Merge pull request #12498 from JustMeDaFaq/master
Fixing UWP builds
2021-06-07 15:52:55 +02:00
Autechre 681983d1b2 Merge pull request #12499 from fjtrujy/psp-remove-pthread
[PSP] Remove embedded PTE from RA and use the one provided by the toolchain
2021-06-07 15:52:35 +02:00
Francisco Javier Trujillo Mata ec627a9c00 Remove embedded PTE from RA and use the one provided by the toolchain 2021-06-07 12:48:13 +02:00
JustMeDaFaq 462cedb654 Update d3d12.c 2021-06-07 12:04:53 +02:00
JustMeDaFaq f1347829c2 Update d3d11.c 2021-06-07 12:03:58 +02:00
sonninnos b08169255d Extend frame delay range 2021-06-07 03:13:08 +03:00
Autechre 610b0b7095 Update CHANGES.md 2021-06-06 22:16:25 +02:00
Autechre caf3f3dadd Merge pull request #12480 from sonninnos/d3d-title
(D3D) Add common window title for D3D9+
2021-06-06 21:48:16 +02:00
sonninnos 04962e1741 (D3D) Add common window title for D3D9+ 2021-06-06 22:24:47 +03:00
Autechre 44e2530fbb Update CHANGES.md 2021-06-06 21:18:02 +02:00
Autechre 52b827155f Merge pull request #12479 from sonninnos/d3d-tearflag
(D3D11+12) Allow fastforward in fullscreen
2021-06-06 21:14:26 +02:00
Autechre 3eecf92f8f Merge pull request #12493 from alphanu1/master
Ver 0.10.0 SR2 (Switchres API) Implimantation
2021-06-06 18:32:58 +02:00
Ben 9184a9d04c Ver 0.10.0 SR2 (Switchres API) Implimantation
merged SR updates

Fixed sub labels

fixed PI compiile

Removed SR makefile
2021-06-06 09:05:10 -07:00
Autechre 5534fd7275 Merge pull request #12490 from Alcaro/patch-12
Shut up a string truncation warning
2021-06-05 21:19:48 +02:00
Alcaro 8e06aa2417 Shut up a string truncation warning 2021-06-05 20:53:45 +02:00
Autechre f57fcd4048 Merge pull request #12489 from Jamiras/cheevos_challenge_indicators
(cheevos) address travis errors
2021-06-05 17:37:06 +02:00
Autechre 4b4576ed62 Merge pull request #12457 from libretro/vita-sounds
VIta: Enable menu sounds
2021-06-05 17:31:22 +02:00
Jamiras 9f8092dc27 address travis errors 2021-06-05 08:10:14 -06:00
Autechre e40f0d308b Merge pull request #12488 from Jamiras/cheevos_challenge_indicators
(cheevos) challenge indicators
2021-06-05 16:02:38 +02:00
Autechre 2259e9b38e Merge pull request #12403 from alphanu1/master
New Switchres (CRT Resolution switching) For Retroarch
2021-06-05 00:27:00 +02:00
twinaphex e44f0749a1 Put this behind HAVE_LANGEXTRA 2021-06-04 20:50:21 +02:00
Jamiras 3fe52bb7fb add toggle/setting for challenge indicators 2021-06-04 12:32:01 -06:00
Autechre 2edc6d6e6a Update CHANGES.md 2021-06-04 20:20:46 +02:00
Autechre fce9da5e76 Merge pull request #12445 from toshixm/CJK_folding_rev2
Improve message wrapping with CJK languages
2021-06-04 20:14:55 +02:00
Ben 4b2f27eff8 Ver 0.9.2 SR2 (Switchres API) Implimantation
Fixed SR close match refresh bug.
Added menu high resolution option.
Fixed desktop restore bug cuusing endless resolution change requests.
Fixed file conflicts
Added destop restore resolution back in for manu only.
Pulled Switchres fixes.
Added better PI rsolution support.

Ver 0.7 SR2 (Switchres API) Implimantation

Removed HH experimetal check. This is better done via teh switchres.ini at present.
Fixed refresh rate bug. Now new resolution and refesh is added correctly.
Removed SR deinit from menu restore. Meanu now stays at last content resolution.

Ver 0.6.2 SR2 (Switchres API) Implimantation

Fixed super resolution bug casuing abnormal video size and aspect ratio
Fixed logging issue casuing seg falts on RA exit

Ver 0.6 SR2 (Switchres API) Implimantation

Ver 0.2 SR2 (Switchres API) Implimantation

Added forced super resolutions.
Added Multi-monitor/monitor selection support.
Added desktop resolution restore when switching back to menu only.
Added new menu items for 31KHz standard and 120hz monitor profiles.
Added new menu item INI. load monitor profile from switchrss.ini.
Fixed winraw driver. Coordinates new refreshed after a resolution change.
Fixed Menu aspect ratio in super resolutions.
Removed static glabals. These have been added to videocrt_switch struct.

Ver 0.1 SR2 (Switchres API) Implimantation

Removed old CRTSwitchRes method. Added new SR2 API implimantaion.
Resolution swithcing is now done by switchres libs. Both Linux and Windows
working with native and super resolutions. Working multi-monitor support
with monitor index selection. Working 31KHz support with standard and 120Hxz
modes. The monitor index selection is still done via the RA UI. Only choose
native and 15KHz form the CRT options in the RA UI as all options are now set
in the switchres.ini. All other CRT optoins in the RA UI currently do nothing.

Added SR wrapper to fix compile issues. Added back RPi functionality

Fixed windows resize/scaling issues on resolution change

Thanks @Calamity no more need for crt_switch_driver_refresh()

Fix broken case after prevous commit

Monitor preset options 15/31KHz now active. Added new meu option.

Moitor persets can now be choosen fom the RA UI. 15KHz and 31KHz will set
arcade_15 and aracde_31 respectivly. New option INI, if this is chosen your
monitor preset will be selected from your switchres.ini file.

Added 3KHhz, 120Hz. for old RA users. Renamed 31KHz to 31 KHz,  Standard

Fixed winraw input coordinates after switching resolution.

Code cleanup

Fixed menu aspect ratio issue

Added menu resolution restore after closing content

Fixed aspect ratio after menu resolution restore.

code clean up

Fxed menu Resulition Restore Aspect Ratio. When SR uses non integer scalled resolution.

super width bug with restoring menu resolution fix

added super resolution check after setting desktop resolutoion variables

when menu active only sr_deinit() used to restore desktop mode.

Fixed menu sr_deinit bug. now setting sr_active false

Removed static globals, added them to video_switch struct

Fixex compile bug due to comment //

Fixed compile issues doe to c++ comments in teh switchres_wrapper.h

Temporarily removed SR2 logging to fix compile isses for c90

added logging back in. Removed support for winnt and osx

Added define for C89. Disabled SR if defined C89

Removed all RA compile fixes fro C89 C90 etc. Swithing now working again.

Put Switchres behind HAVE_SR2. HAVE_SR2=no by default. --enable-sr2

Ver 0.5 SR2 Implimentation.

Ver 0.4 SR2 Implimantation.

Bake SR inside RA

Removed temporary log files

Disable switchres when C89/C99 builds.

Removed C89 and C90 checks for SR

Fixed switchres_wrapper.h location

Ver 0.3 SR2 Implimenation

Dissable logging for C89 __STDC__

Fix For RPi

fixed missing EOL

fixed RPi function definition

added vidrocrt_switch stuct to RPI funcion

fixed xoffset for RPi

Removed old RPi function call

SR disabled for videocore until VC4 switching ported

Reverted back to state 5c8a56c Bake SR inside RA

Use native win32 api for threads.

Fix static lib linking
LIBERROR would be defined twice otherwise + improper function names prefixed by __imp_

Added lidstc++ to makefile.common for switchres

Fixed RPi switching. Disabled Switchres for videocore unill it is ported.

removed RAA.log. Should not exist

Added check for when SR fails to set mode with an aspect ratio fix.

added video driver re init for RPi

GB, GBA and GBC core check, adjusted reseolutions and scale. Please turn on integer scalling in the RA UI

Added logas back in. Checking STDC verstion >= C11

Fixed c89 for loop declaration.

Code clean up. Added new functions

Fix resolution switching bug introduces with HH code clean up.

Fixed menu restore bug on closw content after code clean up

Moved SR logging to relevant RA logs

Update makefile. Checks for X11 and xrandr

fixed makefile

Use native win32 api for threads.

Fix static lib linking
LIBERROR would be defined twice otherwise + improper function names prefixed by __imp_

Update switchres_wrapper.* header comments

Update year copyright

DRMKMS: build only if libdrm has the required version

XRANDR: build only if xrandr is available

Simplified maklefile

Fixed RPI compile error with unsued functions.

As before

Disable Griffin. No switching support available. Never has been

Removed log file 1

Added Win32 static define

Added SR source

Removed Videocore check on destroy SR

Moved SR deinit to trigger earlier on RA exit.

Fixed compile error after upstream rebase

Fixed aspect ration bug cused by super resolutions. Temporarily disbabled SR logging

Re inabled runtim eSR loggind. Disableed all RARCH logging on retro_deinit_drivers

Removed srdeinit from menu restore. Menu stays in current reolution until a fix can be found

Fixed refresh rate changes when no reolution change is detected.

Forgot to add teh resolution cahge in with the refresh change oops

Fixed endless no detection log.

Removed HH check. This can been better adjusted using the switchres.ini

fixed compile issue

Added better PI crt switching and fixed typo

Pulled Swicthres fixes. Updated desktop restore resolution.

removed unused makefile

Lockec menu refresh to 60hz

fixed missing new line

Fixed file conflicts

Forced 640x480@60 for menu

Added high resolution menu option

Removed item logg checker

Fixed typos

Removed unused functions

Fixed SR close match refesh bug.

Fixed typo
2021-06-04 08:32:56 -07:00
Jamiras 7919a87b97 show challenge indicators 2021-06-03 19:53:17 -06:00
sonninnos 8584b122e1 (D3D11+12) Allow fastforward in fullscreen 2021-06-04 04:31:11 +03:00
Autechre ec7e528094 Merge pull request #12466 from christianhaitian/master
Add nmcli to wifi drivers
2021-06-03 20:08:42 +02:00
Autechre f0c9c542a2 Merge pull request #12469 from CTCaer/unix-sysfs-battery-fix
plat: unix: get better battery stats on sysfs nodes
2021-06-03 20:06:44 +02:00
Autechre 4ed88ec68a Merge pull request #12477 from jdgleaver/archive-hash-fix
Fix loading of archived content with file names containing '#' characters
2021-06-03 20:06:36 +02:00
Autechre 140b8f5e0a Merge pull request #12474 from Jamiras/cheevos_menu
(cheevos) group achievements by category in quick menu
2021-06-03 19:42:09 +02:00
jdgleaver b5df2b883a Fix loading of archived content with file names containing '#' characters 2021-06-03 16:40:13 +01:00
toshixm 4fab84ca9e improve message wrapping with CJK languages 2021-06-03 21:09:35 +09:00
Autechre d8a5505204 Merge pull request #12473 from jdgleaver/content-data-api
Add API extension for setting 'need_fullpath' based on content file extension and to request persistent frontend content data buffers
2021-06-03 13:11:56 +02:00
toshixm 1218aebfbf static allocation instead of malloc() 2021-06-03 15:26:33 +09:00
Autechre b81ec7d631 Merge pull request #12446 from toshixm/fix_12440
fix garbled characters when converting encodings
2021-06-03 00:17:53 +02:00
Jamiras f8479c2b5a address travis warnings 2021-06-02 06:37:54 -06:00
Jamiras 69f3dda90a sort recently unlocked so newest unlocks are first 2021-06-02 06:34:54 -06:00
Jamiras a06b303879 remove unused structure 2021-06-01 21:52:10 -06:00
Jamiras ef9beea9f8 use info icon for headers; use server default image while downloading badges 2021-06-01 21:27:02 -06:00
Jamiras cd8f6ede4e support for almost there, active challenge, and recently unlocked categories 2021-06-01 19:38:10 -06:00
Jamiras e76265e1aa group achievements by category 2021-06-01 15:23:18 -06:00
Autechre 6443d6f019 Merge pull request #12472 from meleu/master
CHEEVOS: relabel 'Start Active' with 'Encore Mode'
2021-06-01 17:59:09 +02:00
Jamiras 293e797146 move menu code to separate file 2021-06-01 09:02:12 -06:00
jdgleaver 55c855267e Add API extension for setting 'need_fullpath' based on content file extension and to request persistent frontend content data buffers 2021-06-01 15:28:39 +01:00
meleu 73a5ec9f42 relabel 'Start Active' with 'Encore Mode' 2021-06-01 08:16:03 -03:00
CTCaer 86f8670d0b plat: unix: get better battery stats on sysfs nodes
This addresses 2 issues:

1. Input controllers report battery supplies.
   That causes wrong charging status or capacities if they report percentages instead of levels.
   Such supplies normally report scope attributes that report Unknown or Device type of power supply.
   If reported value is System or the attribute is missing, it's considered a System supply and used.

2. Various systems have backup batteries.
   That causes the wrong capacity to be reported depending on order of node creation.
   This is addressed by keeping track of these and calculating an average.
2021-05-31 18:36:49 +03:00
Autechre 6772b89872 Update CHANGES.md 2021-05-31 16:15:09 +02:00
Autechre d95e46c2bd Merge pull request #12458 from CTCaer/x-monitor-swap-fullscreen-fix
X11: fix fullscreen when swapping monitors/resolution
2021-05-31 16:14:04 +02:00
Christian_Haitian 74d9f976a8 Add wifi configuration menu
Enable with --enable-wifi during
configuration before make.
Credit to valadaa48 for the
code and configuration.
2021-05-31 02:20:34 +00:00
Autechre b1a3ea72c9 Update CHANGES.md 2021-05-30 04:22:55 +02:00
Autechre ab888629a5 Merge pull request #12456 from libretro/pstvscaling
Vita: Fix scaling on PSTV when not using 720p
2021-05-30 04:22:31 +02:00
toshixm 935c7d0e2c use _wfullpath() instead of _fullpath() 2021-05-30 09:17:06 +09:00
CTCaer a8028d5e8e X11: fix fullscreen when swapping monitors/resolution
Most DEs have the tendency to lose focus when monitor is getting swapped or the resolution changes.
That causes X11 exiting fullscreen and setting a lower resolution to fit desktop.
Pushing the window back to top, automatically fixes that and X11 enforces fullscreen again and new max resolution.

Additionally, XConfigure events are now checked and preferred over XGetWindowAttributes.
That saves several to hundreds μs per frame.
2021-05-29 22:19:19 +03:00
Francisco José García García cc1e080dfe VIta: Enable menu sounds 2021-05-29 20:22:37 +02:00
Francisco José García García 35f7ef3cc2 Vita: Fix scaling on PSTV when not using 720p 2021-05-29 19:05:35 +02:00
twinaphex c226bd87f4 Bump version to 1.9.4 2021-05-29 09:23:37 +02:00
Autechre c0b7c34264 Update version.dtd 2021-05-29 09:22:08 +02:00
Autechre 5cf7b57064 Update version.all 2021-05-29 09:21:49 +02:00
Autechre adf6a7ff20 Merge pull request #12450 from libretro/kivutar/fixnota
Try to fix notarization issue
2021-05-29 06:05:04 +02:00
Jean-André Santoni 5a7cebf7da Last fix 2021-05-29 11:03:35 +07:00
Jean-André Santoni 4a8fdaed84 Don't duplicate bundle IDs 2021-05-29 10:54:26 +07:00
Jean-André Santoni 4441219df9 Always prefix bundle ID with com 2021-05-29 10:51:00 +07:00
Autechre 750ad9aa7b Update CHANGES.md 2021-05-28 21:27:19 +02:00
Autechre 0d7a028ce3 Merge pull request #12444 from Jamiras/info_crash 2021-05-28 08:50:21 +02:00
toshixm 84975d71ea fix garbled characters when conveting to local encoding 2021-05-28 15:20:19 +09:00
Jamiras 45c0dc4486 fix crash by restoring incorrectly eliminated line 2021-05-27 21:34:51 -06:00
Jamiras 2c21e3df8b (cheevos) upgrade to rcheevos 10.0 (#12442)
* update rcheevos to v10.0.0

* changes for rcheevos 10

* map virtual tracks in cd_open_track_handler

* address travis warnings
2021-05-27 21:01:00 +02:00
Autechre 138f41160f Merge pull request #12443 from libretro/vitafreetexture
Vita: wait before free texture
2021-05-27 19:53:43 +02:00
Francisco José García García 194de13afb Vita: wait before free texture 2021-05-27 18:41:44 +02:00
Autechre 2c7c8def4c Merge pull request #12435 from toshixm/refactor_word_wrap 2021-05-27 17:31:45 +02:00
Autechre ff3928224e Merge pull request #12441 from jdgleaver/overlay-show-inputs-fix 2021-05-27 17:31:02 +02:00
toshixm a39c38f267 refactor word_wrap() 2021-05-27 19:55:37 +09:00
jdgleaver 8e54b4cec9 (Show Inputs on Overlay) DISABLE_MENU=1 buildfix + Qt settings update 2021-05-26 18:15:23 +01:00
twinaphex 0dfb2b57fb use snprintf instead of multiple consecutive strlcpy/strlcats 2021-05-26 05:22:18 +02:00
twinaphex a84c9022af Cleanups 2021-05-25 21:31:39 +02:00
twinaphex 0a5d4288f5 Rollback runloop changes - will require a rethink in how we approach
this
2021-05-25 20:41:39 +02:00
Autechre 3c6ac487d0 Merge pull request #12438 from jdgleaver/overlay-show-inputs-redux
Add option to select between 'touched' elements and physical controller inputs when showing inputs on overlays
2021-05-25 19:04:17 +02:00
jdgleaver 466bd3be7f Add option to select between 'touched' elements and physical controller inputs when showing inputs on overlays 2021-05-25 18:01:52 +01:00
Autechre 5dc7b7f7c7 Merge pull request #12437 from DisasterMo/inconsistencies_fix
Fixed some inconsistencies in the RetroArch texts
2021-05-25 18:09:21 +02:00
Michael Burgardt 3e814bc4b6 Fixed some inconsistencies in the RetroArch texts 2021-05-25 17:13:55 +02:00
twinaphex f70b6fbf58 Revert "Go through p_runloop pointer"
This reverts commit 30a90adc47.
2021-05-25 05:27:06 +02:00
twinaphex 30a90adc47 Go through p_runloop pointer 2021-05-25 05:19:43 +02:00
twinaphex 621a0b61f6 Move more state to runloop_state (in preparation of removing path_clear
and path_is_empty)
2021-05-24 20:38:56 +02:00
twinaphex 244a2ad052 Simplify video_thread_get_ptr - get rid of unused p_rarch pointer
in dir_free_shader
2021-05-24 19:22:55 +02:00
Autechre bb04b0b9d3 Merge pull request #12432 from DisasterMo/crowdin_sync
Fixed a tiny bug in the Crowdin sync script
2021-05-24 18:51:41 +02:00
Autechre e616b41b62 Merge pull request #12431 from yoshisuga/ios_disable_core_info_cache
[iOS/tvOS] Disable core info caching for iOS
2021-05-24 18:42:51 +02:00
twinaphex fb8c73508b Apply diff patch taking care of issues 2021-05-24 18:40:40 +02:00
Michael Burgardt f2a73d1b14 Fixed a tiny bug in the Crowdin sync script 2021-05-24 12:43:48 +02:00
twinaphex 2b4f2525d0 move more runloop functions over to runloop.c 2021-05-24 02:57:40 +02:00
twinaphex 75175ddbce move more runloop functiosn to runloop.c 2021-05-24 02:27:55 +02:00
SecularSteve c424315510 Made the text, icons and borders darker, fixed the sidebar gradient. 2021-05-23 22:44:42 +02:00
Yoshi Sugawara 4dcbd3e383 [iOS/tvOS] Disable core info caching for iOS 2021-05-23 08:33:14 -10:00
SecularSteve d75e53a11a Added new "Ocean Blue" theme for Ozone 2021-05-23 13:47:46 +02:00
twinaphex b48ab663b0 Move BSV runloop code over to runloop.c 2021-05-23 02:20:01 +02:00
twinaphex 364d518726 More runloop_state changes 2021-05-23 01:54:33 +02:00
twinaphex d1c7d97b10 Split up code to runloop.c 2021-05-22 23:09:00 +02:00
Autechre f8b6443b91 Update CHANGES.md 2021-05-22 18:52:52 +02:00
Autechre 8344ed9db5 Update CHANGES.md 2021-05-22 18:52:08 +02:00
Autechre 76f3d0c1b7 Merge pull request #12429 from libretro/pstv720p
[VITA] Support for 720p on PSTV when using unlock framebuffer in Sharpscale plugin
2021-05-22 18:51:38 +02:00
Francisco José García García 52af69e6cd Vita: support for 720p in PSTV & Sharpscale plugin 2021-05-22 17:29:03 +02:00
Francisco José García García d6b1836919 Vita: arrange compile flags 2021-05-22 17:29:03 +02:00
twinaphex 7c483340fc Start creating a distinction between runloop_ and retroarch_ prefix
functions
2021-05-22 16:51:55 +02:00
twinaphex 33de17548b Fix regression caused by core info file caching - Downloads was no
longer showing up in Load Content
2021-05-22 16:25:05 +02:00
twinaphex 9cd19d4944 Silence warning - ret was never used 2021-05-22 16:05:26 +02:00
twinaphex 89e4cac3f1 Small cleanups 2021-05-22 07:33:05 +02:00
twinaphex 29e9027ec0 Cleanup find_driver_* functions - don't pass p_rarch through it 2021-05-22 05:37:14 +02:00
twinaphex 68c377cd55 Move more to runloop_state 2021-05-22 02:57:02 +02:00
twinaphex 706ab17b2c Remove p_rarch passing around where it's no longer needed 2021-05-22 02:14:32 +02:00
twinaphex fede9eee4b Get rid of unused variables 2021-05-22 01:31:29 +02:00
twinaphex d84a2ef700 Move boolean state variables from p_rarch to runloop_state 2021-05-22 01:25:59 +02:00
twinaphex 4ba92b1643 Move more runloop state over to runloop_state 2021-05-22 00:25:01 +02:00
twinaphex 57a728fd41 Rename audio_out_rate to audio_output_sample_rate 2021-05-21 22:36:46 +02:00
twinaphex bc8f98358b Cleanup in audio_driver_init_internal 2021-05-21 22:30:16 +02:00
twinaphex 3887db349e Get rid of unused variable 2021-05-21 22:26:46 +02:00
twinaphex 98448960f5 Move audio_driver_mixer_volume_gain to runloop_state struct 2021-05-21 22:25:36 +02:00
twinaphex 22a2b5ac1c Move more variables to runloop_state 2021-05-21 22:20:26 +02:00
twinaphex 6e4620cebc Prevent warning on Griffin builds 2021-05-21 21:25:43 +02:00
twinaphex 458d636861 Move more runloop state to runloop state struct 2021-05-21 21:23:06 +02:00
twinaphex 64c01e620d Rename retroarch_get_runloop_fastforward_* function 2021-05-21 20:09:50 +02:00
twinaphex 57c4802ab4 Remove unused variable 2021-05-21 20:02:22 +02:00
twinaphex 74f1bf59b9 Refactors - plenty of runloop state functions no longer pass p_rarch
around, so get rid of it
2021-05-21 19:52:09 +02:00
Autechre cacbd451dc Update CHANGES.md 2021-05-21 17:48:36 +02:00
Autechre 7174563f7d Merge pull request #12426 from jdgleaver/overlay-remap-fix
Prevent duplicate inputs when using remaps with input overlays
2021-05-21 17:46:32 +02:00
jdgleaver d5f862ee07 Prevent duplicate inputs when using remaps with input overlays 2021-05-21 16:31:11 +01:00
twinaphex f66d4ea33c Remove unused variables 2021-05-21 17:14:13 +02:00
twinaphex 0797fd957a menu_entries_get_core_title - cut down on amount of lines of code 2021-05-21 17:10:20 +02:00
twinaphex b45acf2223 MSVC buildfixes 2021-05-21 17:09:55 +02:00
twinaphex 30143f15f2 Simplify menu_entries_get_core_title 2021-05-21 16:54:43 +02:00
twinaphex 24389bbcd5 Small cleanups to task_content.c 2021-05-21 16:30:02 +02:00
twinaphex 2e50b57643 task_content_disc.c - header include cleanups 2021-05-21 14:10:44 +02:00
Autechre 5b995dec26 Update CHANGES.md 2021-05-21 14:08:55 +02:00
Autechre 5ae4524176 Merge pull request #12424 from libretro/pstvinput 2021-05-21 13:13:28 +02:00
Francisco José García García 87a7795331 [VITA] Fix input driver for PSTV 2021-05-21 10:54:02 +02:00
Autechre 44fc3666ed Merge pull request #12421 from jdgleaver/task-content-cleanup-1 2021-05-21 06:16:38 +02:00
markwkidd cea6b17391 bind trigger to first mouse button by default 2021-05-20 22:50:49 -04:00
jdgleaver 334a43a7c5 Prevent unnecessary extraction (to disk) of compressed content files + task_content.c clean-ups 2021-05-20 17:08:51 +01:00
SecularSteve d1300dbdb3 small fixes 2021-05-20 14:46:39 +02:00
SecularSteve b355217e6d small fixes 2021-05-20 14:45:21 +02:00
SecularSteve a6f8355c6f small fixes 2021-05-20 14:41:45 +02:00
SecularSteve ce474040af Added new "Ocean Blue" Ozone theme 2021-05-20 14:15:10 +02:00
SecularSteve 32f68e81d6 Added new "Ocean Blue" theme 2021-05-20 14:13:58 +02:00
SecularSteve 0bd49c59c6 Added new "Ocean Blue" theme 2021-05-20 14:11:00 +02:00
SecularSteve a1ff509276 Added new "Ocean Blue" theme (along with a small tutorial)
I also sorted all of floats of the other themes in order.
2021-05-20 14:10:13 +02:00
SecularSteve 8346c4eeff Added English hash for "Ocean Blue" 2021-05-20 14:00:17 +02:00
Autechre 29475a904f Merge pull request #12419 from crystalct/master
Change default video driver name for PSL1GHT
2021-05-20 05:30:26 +02:00
U-LAPTOP-0BS9KNOH\crystal 159602d697 Change default video driver name for PSL1GHT 2021-05-19 22:50:34 +02:00
twinaphex de88edf56c Fix header include now that defines/ files are in libretro-common 2021-05-19 16:47:40 +02:00
twinaphex 4fb6bc9f33 Fix another camelcase variable 2021-05-19 16:13:05 +02:00
twinaphex b82a20ea0c We don't want camelcase notation variable names for RetroArch 2021-05-19 16:11:26 +02:00
twinaphex 8291b18771 Small cleanup to cheevos content loading part 2021-05-19 16:05:42 +02:00
twinaphex 181824eb00 (Tasks/content) Split up CDROM code into tasks/task_content_disc.c 2021-05-19 15:53:38 +02:00
twinaphex 7a2115670a Fix relative path includes 2021-05-19 15:41:40 +02:00
Autechre 951999e5ce Merge pull request #12416 from crystalct/master
PSL1GHT salamander build fix
2021-05-19 14:48:03 +02:00
U-LAPTOP-0BS9KNOH\crystal 23acacf436 PSL1GHT salamander build fix 2021-05-19 00:31:09 +02:00
twinaphex 925c459aed Use single snprintf instead of multiple strlcpy/strlcat calls in
several places
2021-05-18 23:18:09 +02:00
twinaphex 0482892a9c Get rid of return variable for snprintf 2021-05-18 23:09:45 +02:00
Autechre dd922bfc2c Merge pull request #12413 from Jamiras/cheevos_sprintf
(cheevos) replace sprintf with snprintf
2021-05-18 22:55:13 +02:00
twinaphex 35543ecd91 Move defines files over to libretro-common 2021-05-18 22:15:04 +02:00
twinaphex e08290acb0 Less strlcpy/strlcat concatenation of strings 2021-05-18 21:06:29 +02:00
twinaphex e34c84d791 Use snprintf in more situations 2021-05-18 20:19:19 +02:00
twinaphex 2e4b734159 Cleanups - replace several messy strlcpy/strlcats with one single
snprintf
2021-05-18 20:09:48 +02:00
twinaphex 3b64752f4f Simplify strlcpy/strlcat combinations to single snprintf 2021-05-18 20:01:51 +02:00
twinaphex 9829051841 win32_localize_menu - replace strcmp call with string_is_not_equal 2021-05-18 19:49:57 +02:00
twinaphex fc2a011a5c Use single snprintf call where possible instead of multiple
strlcpy/strlcat calls
2021-05-18 19:36:20 +02:00
twinaphex 0e7ff6ea4e - Avoid some repeated strlcpy/strlcat calls one after another; replace
it with a single snprintf call under the assumption it will probably
still be faster
- In some instances, the first time the string was manipulated on was
with a strlcat call instead of an strlcpy - change this
2021-05-18 19:27:54 +02:00
twinaphex e784cc1aaf Cleanup some accessibiliyt-related code - pre-initialize strings
normally, don't use weird string_is_equal check which checks if string
is empty, etc.
2021-05-18 19:02:10 +02:00
twinaphex e4a8f42ad1 win32_localize_menu - get rid of direct strcpy/strcat calls 2021-05-18 18:53:30 +02:00
Autechre a04fe66032 Merge pull request #12380 from stenzek/vulkan-software-fb
(video/vulkan) Avoid caching stale mapped GPU texture as frame data
2021-05-18 18:01:47 +02:00
Jamiras 9669cff16b fix travis error 2021-05-18 09:46:03 -06:00
Jamiras 09439332f3 implement feedback 2021-05-18 09:40:53 -06:00
Jamiras 216deda910 replace sprintf with snprintf 2021-05-18 08:31:44 -06:00
twinaphex 7bbdd6d18a Prefer using snprintf instead of insecure sprintf 2021-05-18 15:14:08 +02:00
twinaphex b037da7264 (vita/launcher) Use snprintf 2021-05-18 15:07:58 +02:00
twinaphex ef35adc9d6 platform_ps2.c - Use snprintf 2021-05-18 14:15:18 +02:00
twinaphex f6a8480f21 (platform_psp.c) Switch to strlcpys instead of sprintf 2021-05-18 13:57:23 +02:00
Autechre d3b3b40ea7 Update CHANGES.md 2021-05-18 13:43:43 +02:00
Autechre 6972cc2bc6 Merge pull request #12398 from DisasterMo/playlist_entry_enumeration
(ozone) Added simple playlist entry enumeration
2021-05-18 13:19:35 +02:00
twinaphex 74cef32c1d Cleanups 2021-05-18 00:57:46 +02:00
Michael Burgardt d50be7a0ab Added simple playlist entry enumeration to ozone; added toggle option by jdgleaver 2021-05-17 18:49:25 +02:00
twinaphex d228e5f759 Small style nits 2021-05-17 15:58:04 +02:00
Autechre 10546594de Update CHANGES.md 2021-05-17 15:54:39 +02:00
Autechre e9b5f009cc Merge pull request #12411 from jdgleaver/max-users-dropdown-fix
(XMB) Fix display of 'Maximum Users' menu entry dropdown list
2021-05-17 15:52:14 +02:00
twinaphex d6ec36c707 Enable 'Cache Core Info Files' by default for all platforms 2021-05-17 15:47:28 +02:00
jdgleaver be84700d0a (XMB) Fix display of 'Maximum Users' menu entry dropdown list 2021-05-17 14:41:57 +01:00
Autechre ad5b2d614a Merge pull request #12401 from davidgfnet/br3
Add brightness restore hook
2021-05-17 13:24:50 +02:00
Autechre 9e87040c02 Merge pull request #12406 from guoyunhe/crowdin
Fetch translations from Crowdin
2021-05-17 13:24:39 +02:00
Autechre 90abd49892 Merge pull request #12410 from Alcaro/master
rpng: Fix some memory corruption if processing broken input
2021-05-17 13:22:51 +02:00
Alcaro 654aae58d6 rpng: Fix some memory corruption if processing broken input 2021-05-17 08:43:53 +02:00
twinaphex e6adca7679 rarch_init_core_options_path - NULL termination of strings is already
done outside by caller
2021-05-17 00:56:29 +02:00
Autechre 095f6d4377 Merge pull request #12407 from crystalct/master
PSL1GHT joypad restored
2021-05-16 23:01:32 +02:00
Autechre b946b146f3 Merge pull request #12408 from LazyFunker/master
Fix typo
2021-05-16 23:00:39 +02:00
LazyFunker 4e0f8bf621 Fix typo 2021-05-16 20:44:31 +02:00
unknown de4343caeb PSL1GHT joypad restored 2021-05-16 20:04:43 +02:00
Autechre a9426925cf Update config.def.h 2021-05-16 19:27:07 +02:00
Autechre aebdc8b747 Merge pull request #12404 from mudlord/master
Look into fixing CVE-2021-28927
2021-05-16 18:43:34 +02:00
Guo Yunhe c9d4775ffc Fetch translations from Crowdin 2021-05-17 00:09:21 +08:00
mudlord 3b8bd1a6e8 There. 2021-05-16 18:28:59 +10:00
mudlord 734401440d People are never happy. 2021-05-16 18:20:52 +10:00
mudlord 9fbf3b9732 Whoops 2021-05-16 17:58:43 +10:00
mudlord 67b180d63d Look into fixing CVE-2021-28927 2021-05-16 17:55:14 +10:00
David Guillen Fandos c378665af5 Add brightness restore hook
This is out of the unix frontend driver on purpose, since settings do
not seem to be available at init() time.
2021-05-15 21:20:37 +02:00
Autechre 3187c87451 Update CHANGES.md 2021-05-15 20:07:09 +02:00
twinaphex 122be0cc64 Bump version to 1.9.3 2021-05-15 19:57:59 +02:00
Autechre 6b13e3f050 Merge pull request #12397 from jdgleaver/info-cache-default
Enable core info cache by default on all 'console' platforms
2021-05-14 17:58:04 +02:00
jdgleaver 87e248f4eb Enable core info cache by default on all 'console' platforms 2021-05-14 16:49:30 +01:00
Autechre 2be7106055 Merge pull request #12395 from jdgleaver/auto-shader-delay-fix
Fix 'Auto-Shader Delay' functionality
2021-05-14 16:15:15 +02:00
jdgleaver 0a24f5f38a Fix 'Auto-Shader Delay' functionality 2021-05-14 13:47:46 +01:00
Autechre 6189fd3f42 Merge pull request #12392 from alttpo/fix-network-cmd-recvfrom
command: initialize netcmd->cmd_source_len before recvfrom()
2021-05-14 13:06:59 +02:00
Autechre 29d5a692d0 Merge pull request #12393 from jdgleaver/rgui-config-save-fix
(RGUI) Fix saving of config files/overrides when 'Lock Menu Aspect Ratio' is enabled
2021-05-14 13:06:36 +02:00
jdgleaver 358cafa978 (RGUI) Fix saving of config files/overrides when 'Lock Menu Aspect Ratio' is enabled 2021-05-14 10:50:18 +01:00
jsd1982 b3eebbd5ec command: initialize netcmd->cmd_source_len before recvfrom() 2021-05-13 22:13:10 -05:00
Autechre cc5b491e21 Merge pull request #12390 from jdgleaver/emscripten-load-content-fix
Fix content loading via file browser on platforms with 'broken' core handling (i.e. emscripten)
2021-05-13 17:35:39 +02:00
Autechre bf0b9f536a Merge pull request #11547 from jdgleaver/ff-callback
Add API extension for cores to override frontend fast-forward state
2021-05-13 16:40:06 +02:00
jdgleaver 6f471e0660 Fix content loading via file browser on platforms with 'broken' core handling (i.e. emscripten) 2021-05-13 15:32:25 +01:00
jdgleaver 484c4ad51e Add API extension for cores to override frontend fast-forward state 2021-05-13 13:16:37 +01:00
Autechre 66c77af4a6 Merge pull request #12381 from GavinDarkglider/master
Fix typo in HAVE_LAKKA_SWITCH stuff that is breaking HAVE_LAKKA build…
2021-05-12 16:08:15 +02:00
Autechre 667568b0b8 Merge pull request #12386 from Ryunam/ozone-themes-id
Updates to Ozone (follow-up to #12382)
2021-05-12 16:02:07 +02:00
twinaphex f3ff36ac34 Fix some targets - no comma at end of enumerator list 2021-05-12 16:01:31 +02:00
Autechre feaefbef04 Merge pull request #12385 from jdgleaver/static-reload-core-fix
(Static Platforms) Ensure 'Always Reload Core on Run Content' setting is applied when loading content via the file browser
2021-05-12 16:00:43 +02:00
Ryunam a16aba2138 Updates to Ozone 2021-05-12 15:28:26 +02:00
jdgleaver 50d27fada9 (Static Platforms) Ensure 'Always Reload Core on Run Content' setting is applied when loading content via the file browser 2021-05-12 10:59:07 +01:00
Autechre a6d92de0b2 Merge pull request #12382 from Ryunam/ozone-themes-id
Minor updates to Ozone themes code
2021-05-12 09:18:02 +02:00
Autechre 89391ccf9a Merge pull request #12287 from LazyFunker/master
Some fixes for UWP/XBox
2021-05-12 09:17:53 +02:00
Autechre e430f832cc Merge pull request #12383 from davidgfnet/cpufreq2
CPU governor/frequency part 2
2021-05-12 09:17:42 +02:00
David Guillen Fandos 9280340fe0 CPU governor/frequency part 2
This adds managed policies and settings to store them and reload them at
startup. Only for Lakka builds!
2021-05-12 02:16:25 +02:00
Ryunam 85466225de Minor updates to Ozone themes code 2021-05-11 19:35:38 +02:00
Stenzek c9aaf598bb (video/vulkan) Avoid caching stale mapped GPU texture as frame data
At best, this results in junk on screen, at worst we could crash.

It's not a perfect fix, there's still a scenario where this breaks: when
fast forwarding is enabled, and we swap from vsync-off to vsync-on when
pausing/rendering the menu, the swap chain (and textures) gets
recreated, and the frame data is completely lost.

There isn't much we can do about this without more intrusive changes,
such as preserving the textures inbetween swap chain reinits.
2021-05-11 09:49:39 -07:00
Stenzek 92e795aa28 (main) Remove null check from video_driver_set_cached_frame_ptr
The only call sites here use NULL as a parameter, and it makes
sense to clear it, since the intent is to remove a potentially
dangling pointer.
2021-05-11 09:49:39 -07:00
Ronald Brown fa2c789c3f Fix typo in HAVE_LAKKA_SWITCH stuff that is breaking HAVE_LAKKA building. 2021-05-10 23:31:00 -07:00
Autechre 475213aa0a Merge pull request #12378 from davidgfnet/master
Moving more stuff from samples to tests
2021-05-11 03:16:04 +02:00
David Guillen Fandos 32d6eeaf07 Moving more stuff from samples to tests
Reworked the test a bit to make it separate from RA's build system for
simplicity.
Reworked the testing a bit to ensure coverage is properly generated.
This needs more work since it's rather manual and verbose
2021-05-10 19:45:50 +02:00
Autechre 6f95e7819a Merge pull request #12364 from davidgfnet/master
Add more tests and coverage generation
2021-05-09 19:57:40 +02:00
GavinDarkglider f24f827c4c Updates For Lakka Switch build. (#12369) 2021-05-07 20:58:30 +02:00
Autechre 53a266728b Merge pull request #12368 from jdgleaver/core-info-fix 2021-05-07 14:28:18 +02:00
Autechre 215ed2ccf6 Merge pull request #12367 from jdgleaver/core-info-cache-whitespace 2021-05-07 14:28:01 +02:00
jdgleaver a671b6394c (Core Info) Fix core detection on platforms that support cores with multiple file extensions 2021-05-07 10:58:09 +01:00
jdgleaver dec1fd097c Skip whitespace when writing compressed core info cache files 2021-05-07 10:16:21 +01:00
David Guillen Fandos a0f0d7bed2 Add more tests and coverage generation 2021-05-06 18:43:56 +02:00
Autechre 6a21eca5df Merge pull request #12363 from jdgleaver/core-info-cache-updates 2021-05-06 16:13:55 +02:00
jdgleaver c37f540b72 Core Info Cache Improvements
- Core info cache can now be enabled/disabled on all platforms via a new `Settings > Core > Cache Core Info Files` option
- Core info cache file has been renamed from `.cache` to `core_info.cache` (i.e. it is no longer a 'hidden' file on Unix platforms, so can be deleted easily)
- The core info cache file is now compressed (rzip) to further reduce disk IO
- The presence of a `core_info.refresh` file in the core info directory will force a one-time refresh of the info cache. This file is generated automatically when toggling on the `Cache Core Info Files` option, and we will also add it to core info file packaging such that updating info files (either manually or via the online updater) will force a refresh
- The core info cache no longer contains 'core is locked' and 'firmware missing' data fields; these are 'dynamic' properties that must be determined at runtime
- The 'core is locked' status is now determined on core info intialisation by parsing the core directory listing, rather than by performing indivdual 'lock file exists' checks. This minimises file IO, and greatly improves performance on devices with slow storage
- While parsing the core info cache file, we now avoid unnecessary `strdup()`s when adding entries to the resultant cache list
- Memory leaks (potential and real) have been fixed, and safety checks added
- Build errors have been fixed
2021-05-06 15:00:55 +01:00
Autechre 5aba614b60 Merge pull request #12350 from bulzipke/master 2021-05-06 15:57:50 +02:00
Autechre 0680505ebf Merge pull request #12354 from njordan64/generic-queue-linked-list
Adding a generic queue and linked list.
2021-05-05 22:49:11 +02:00
Norman Jordan 528af55abd Adding a generic queue and linked list.
Both accept (void *) values. Also added some unit tests using CHECK.
2021-05-05 10:41:13 -07:00
Autechre 1167dde73a Merge pull request #12359 from njordan64/shader_vulkan_fix
Added a missing include.
2021-05-05 18:18:42 +02:00
Autechre b3abdefb9a Merge pull request #12358 from bulzipke/fix-msvc-build
Fix windows msvc build
2021-05-05 18:18:33 +02:00
Norman Jordan 1b0ae7a0b2 Added a missing include. 2021-05-05 01:52:04 -07:00
bulzipke f3daf070e1 Fix windows msvc build 2021-05-05 15:32:15 +09:00
Autechre 6241909a08 Merge pull request #12356 from jdgleaver/warn-fix
Fix 'unhandled enum' compiler warning on non-LAKKA platforms
2021-05-04 16:04:33 +02:00
Autechre 7fbb7a8007 Merge pull request #12355 from jdgleaver/3ds-disable-screensaver
(3DS) Disable menu screensaver animations in XMB/GLUI
2021-05-04 16:04:24 +02:00
bulzipke e96cbcac04 (3DS) Build core info cache 2021-05-04 23:01:17 +09:00
jdgleaver 0706cdea4c Fix 'unhandled enum' compiler warning on non-LAKKA platforms 2021-05-04 12:35:01 +01:00
jdgleaver 07099797bd (3DS) Disable menu screensaver animations in XMB/GLUI 2021-05-04 11:44:30 +01:00
Jean-André Santoni 77967f0148 Merge pull request #12348 from libretro/kivutar/lutroweb
Add lutro to web.libretro.com
2021-05-02 14:13:43 +07:00
Jean-André Santoni 56e40e8204 Add lutro to web.libretro.com 2021-05-02 13:04:20 +07:00
Autechre 218c6f30b9 Merge pull request #12346 from davidgfnet/cpufreq1 2021-05-02 05:15:56 +02:00
David Guillen Fandos b2c20e8ce0 Initial support for tweaking CPU governors/scaling policies
This is, at the moment, aimed at Lakka only.
2021-05-01 18:35:38 +02:00
Autechre 76eeee2c9a Merge pull request #12345 from devnexen/fbsd_build_fix
FreeBSD build fix proposal
2021-05-01 17:26:44 +02:00
David Carlier 3b7e0a8db1 FreeBSD build fix proposal 2021-05-01 15:37:14 +01:00
LazyFunker c5e5cf28af Force resolution on UWP 2021-04-20 11:47:32 +02:00
LazyFunker 8ff0430370 Disable mipmap generation for UWP 2021-04-20 10:29:17 +02:00
pjft 0a83817f25 Merge branch 'master' into dual-lightgun 2021-01-18 11:23:44 +00:00
pjft f8b4289811 Change udev driver for dual lightgun support in X11 2020-09-28 21:25:51 +01:00
1024 changed files with 136716 additions and 94601 deletions

No files matched your search

+1 -1
View File
@@ -1,4 +1,4 @@
# EditorConfig: http://EditorConfig.org
# EditorConfig: https://EditorConfig.org
# Top-most EditorConfig file
root = true
+33
View File
@@ -0,0 +1,33 @@
# Download translations from Crowdin and push to GitHub
name: Crowdin Daily Workflow
on:
schedule:
- cron: '0 0 * * *' # every day at midnight
jobs:
sync:
runs-on: ubuntu-latest
steps:
- name: Setup Java JDK
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Setup Python
uses: actions/setup-python@v2
- name: Checkout
uses: actions/checkout@v2
- name: Crowdin Sync
shell: bash
env:
CROWDIN_API_KEY: ${{ secrets.CROWDIN_API_KEY }}
run: |
cd intl
python3 -m pip install requests yaml
python3 crowdin_sync.py "$CROWDIN_API_KEY"
git config user.name github-actions
git config user.email [email protected]
git add .
git commit -m "Fetch translations from Crowdin"
git push
+24
View File
@@ -0,0 +1,24 @@
# Validates compilation of RetroArch binary
name: RetroArch CI
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
linux-c89: # Smoketest build using most restrictive compiler and default options
runs-on: ubuntu-latest
steps:
- name: Dependencies
run: sudo apt-get install build-essential libxkbcommon-dev libx11-xcb-dev zlib1g-dev libfreetype6-dev libegl1-mesa-dev libgles2-mesa-dev libgbm-dev nvidia-cg-toolkit nvidia-cg-dev libavcodec-dev libsdl2-dev libsdl-image1.2-dev libxml2-dev yasm
- name: Checkout
uses: actions/checkout@v2
- name: Configure
run: ./configure
- name: Build
run: make C89_BUILD=1
+8 -2
View File
@@ -9,11 +9,14 @@
*.map
*.swp
*.cache
*.gcda
*.gcno
.tmp
.tmp.c
.tmp.cxx
.moc.h
.moc.cpp
.ccls-cache
config.log
/.project
/.externalToolBuilders/
@@ -92,7 +95,6 @@ database
overlays
playlists
states
system
shaders/shaders_cg
shaders/shaders_glsl
shaders/shaders_slang
@@ -218,8 +220,12 @@ libretro-common/samples/streams/rzip/rzip
#VITA
param.sfo
*.S
*.wo
*.elf
*.self
*.vpk
/.vs
/deps/SPIRV-Cross/out/build/x64-Debug
# Visual Studio Code
.vscode/
+190 -84
View File
@@ -104,9 +104,10 @@ build-retroarch-windows-msvc10-x64:
SDK_BIN_DIR: C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin
RCEDIT_BIN_DIR: C:\Program Files\rcedit
PEDEPS_BIN_DIR: C:\Program Files\pedeps-0.1.9-win64\bin
MSVC_PLATFORM: windows_msvc2010_x64
before_script:
- $Env:HOME = "."
- $Env:Path += -join(";", "$Env:SDK_BIN_DIR", ";", "$Env:RCEDIT_BIN_DIR", ";", "$Env:PEDEPS_BIN_DIR")
- $Env:Path += -join(";", "$Env:MSYS_BIN_DIR", ";", "$Env:SDK_BIN_DIR", ";", "$Env:RCEDIT_BIN_DIR", ";", "$Env:PEDEPS_BIN_DIR")
artifacts:
paths:
- retroarch.exe
@@ -114,26 +115,31 @@ build-retroarch-windows-msvc10-x64:
expire_in: 10 min
dependencies: []
script:
# Build RetroArch
- $Script:MakeCmd = "$Env:MSYS_BIN_DIR\env.exe $Env:MSYS_BIN_DIR\bash.exe -l -c 'make -f Makefile.griffin platform=windows_msvc2010_x64'"
- Invoke-Expression $Script:MakeCmd
- mt.exe -nologo -manifest "retroarch.exe.manifest" -outputresource:"retroarch.exe;#1"
- rcedit-x64.exe "retroarch.exe" --set-icon "media\retroarch.ico"
# Create .media subdirectories
- New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/audio" -ItemType Directory
- New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/video" -ItemType Directory
- New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/pkg" -ItemType Directory
- New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist" -ItemType Directory
# Copy audio/video filters
- Get-ChildItem -Path "libretro-common/audio/dsp_filters/*" -Include *.dsp | Copy-Item -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/audio"
- Get-ChildItem -Path "gfx/video_filters/*" -Include *.filt | Copy-Item -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/video"
# Copy default config file
- Copy-Item -Path "retroarch.cfg" -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/pkg/retroarch.default.cfg"
# Copy dll dependencies
# (note that msvc10 build should not have any, but this
# may change in the future)
- copypedeps.exe -r retroarch.exe "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist"
- Remove-Item "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist/retroarch.exe" -ErrorAction Ignore
- |
$ErrorActionPreference = 'Stop'
# Build RetroArch
bash.exe -l -c "make -f Makefile.griffin platform=$Env:MSVC_PLATFORM"
if ($LastExitCode -ne 0){throw "Failed to build RetroArch"}
mt.exe -nologo -manifest "retroarch.exe.manifest" -outputresource:"retroarch.exe;#1"
if ($LastExitCode -ne 0){throw "Failed to add manifest to RetroArch binary"}
rcedit-x64.exe "retroarch.exe" --set-icon "media\retroarch.ico"
if ($LastExitCode -ne 0){throw "Failed to set icon of RetroArch binary"}
# Create .media subdirectories
New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/audio" -ItemType Directory
New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/video" -ItemType Directory
New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/pkg" -ItemType Directory
New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist" -ItemType Directory
# Copy audio/video filters
Get-ChildItem -Path "libretro-common/audio/dsp_filters/*" -Include *.dsp | Copy-Item -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/audio"
Get-ChildItem -Path "gfx/video_filters/*" -Include *.filt | Copy-Item -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/video"
# Copy default config file
Copy-Item -Path "retroarch.cfg" -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/pkg/retroarch.default.cfg"
# Copy dll dependencies
# (note that msvc builds should not have any, but this
# may change in the future)
copypedeps.exe -r retroarch.exe "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist"
if ($LastExitCode -ne 0){throw "Failed to copy RetroArch dependencies"}
Remove-Item "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist/retroarch.exe" -ErrorAction Ignore
build-retroarch-windows-msvc10-i686:
tags:
@@ -147,9 +153,10 @@ build-retroarch-windows-msvc10-i686:
SDK_BIN_DIR: C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin
RCEDIT_BIN_DIR: C:\Program Files\rcedit
PEDEPS_BIN_DIR: C:\Program Files\pedeps-0.1.9-win64\bin
MSVC_PLATFORM: windows_msvc2010_x86
before_script:
- $Env:HOME = "."
- $Env:Path += -join(";", "$Env:SDK_BIN_DIR", ";", "$Env:RCEDIT_BIN_DIR", ";", "$Env:PEDEPS_BIN_DIR")
- $Env:Path += -join(";", "$Env:MSYS_BIN_DIR", ";", "$Env:SDK_BIN_DIR", ";", "$Env:RCEDIT_BIN_DIR", ";", "$Env:PEDEPS_BIN_DIR")
artifacts:
paths:
- retroarch.exe
@@ -157,26 +164,31 @@ build-retroarch-windows-msvc10-i686:
expire_in: 10 min
dependencies: []
script:
# Build RetroArch
- $Script:MakeCmd = "$Env:MSYS_BIN_DIR\env.exe $Env:MSYS_BIN_DIR\bash.exe -l -c 'make -f Makefile.griffin platform=windows_msvc2010_x86'"
- Invoke-Expression $Script:MakeCmd
- mt.exe -nologo -manifest "retroarch.exe.manifest" -outputresource:"retroarch.exe;#1"
- rcedit-x64.exe "retroarch.exe" --set-icon "media\retroarch.ico"
# Create .media subdirectories
- New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/audio" -ItemType Directory
- New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/video" -ItemType Directory
- New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/pkg" -ItemType Directory
- New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist" -ItemType Directory
# Copy audio/video filters
- Get-ChildItem -Path "libretro-common/audio/dsp_filters/*" -Include *.dsp | Copy-Item -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/audio"
- Get-ChildItem -Path "gfx/video_filters/*" -Include *.filt | Copy-Item -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/video"
# Copy default config file
- Copy-Item -Path "retroarch.cfg" -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/pkg/retroarch.default.cfg"
# Copy dll dependencies
# (note that msvc10 build should not have any, but this
# may change in the future)
- copypedeps.exe -r retroarch.exe "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist"
- Remove-Item "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist/retroarch.exe" -ErrorAction Ignore
- |
$ErrorActionPreference = 'Stop'
# Build RetroArch
bash.exe -l -c "make -f Makefile.griffin platform=$Env:MSVC_PLATFORM"
if ($LastExitCode -ne 0){throw "Failed to build RetroArch"}
mt.exe -nologo -manifest "retroarch.exe.manifest" -outputresource:"retroarch.exe;#1"
if ($LastExitCode -ne 0){throw "Failed to add manifest to RetroArch binary"}
rcedit-x64.exe "retroarch.exe" --set-icon "media\retroarch.ico"
if ($LastExitCode -ne 0){throw "Failed to set icon of RetroArch binary"}
# Create .media subdirectories
New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/audio" -ItemType Directory
New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/video" -ItemType Directory
New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/pkg" -ItemType Directory
New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist" -ItemType Directory
# Copy audio/video filters
Get-ChildItem -Path "libretro-common/audio/dsp_filters/*" -Include *.dsp | Copy-Item -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/audio"
Get-ChildItem -Path "gfx/video_filters/*" -Include *.filt | Copy-Item -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/video"
# Copy default config file
Copy-Item -Path "retroarch.cfg" -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/pkg/retroarch.default.cfg"
# Copy dll dependencies
# (note that msvc builds should not have any, but this
# may change in the future)
copypedeps.exe -r retroarch.exe "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist"
if ($LastExitCode -ne 0){throw "Failed to copy RetroArch dependencies"}
Remove-Item "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist/retroarch.exe" -ErrorAction Ignore
build-retroarch-windows-msvc05-i686:
tags:
@@ -191,9 +203,10 @@ build-retroarch-windows-msvc05-i686:
RCEDIT_BIN_DIR: C:\Program Files\rcedit
PEDEPS_BIN_DIR: C:\Program Files\pedeps-0.1.9-win64\bin
VS80COMNTOOLS: C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\Tools\
MSVC_PLATFORM: windows_msvc2005_x86
before_script:
- $Env:HOME = "."
- $Env:Path += -join(";", "$Env:SDK_BIN_DIR", ";", "$Env:RCEDIT_BIN_DIR", ";", "$Env:PEDEPS_BIN_DIR")
- $Env:Path += -join(";", "$Env:MSYS_BIN_DIR", ";", "$Env:SDK_BIN_DIR", ";", "$Env:RCEDIT_BIN_DIR", ";", "$Env:PEDEPS_BIN_DIR")
artifacts:
paths:
- retroarch.exe
@@ -201,26 +214,31 @@ build-retroarch-windows-msvc05-i686:
expire_in: 10 min
dependencies: []
script:
# Build RetroArch
- $Script:MakeCmd = "$Env:MSYS_BIN_DIR\env.exe $Env:MSYS_BIN_DIR\bash.exe -l -c 'make -f Makefile.griffin platform=windows_msvc2005_x86'"
- Invoke-Expression $Script:MakeCmd
- mt.exe -nologo -manifest "retroarch.exe.manifest" -outputresource:"retroarch.exe;#1"
- rcedit-x64.exe "retroarch.exe" --set-icon "media\retroarch.ico"
# Create .media subdirectories
- New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/audio" -ItemType Directory
- New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/video" -ItemType Directory
- New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/pkg" -ItemType Directory
- New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist" -ItemType Directory
# Copy audio/video filters
- Get-ChildItem -Path "libretro-common/audio/dsp_filters/*" -Include *.dsp | Copy-Item -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/audio"
- Get-ChildItem -Path "gfx/video_filters/*" -Include *.filt | Copy-Item -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/video"
# Copy default config file
- Copy-Item -Path "retroarch.cfg" -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/pkg/retroarch.default.cfg"
# Copy dll dependencies
# (note that msvc05 build should not have any, but this
# may change in the future)
- copypedeps.exe -r retroarch.exe "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist"
- Remove-Item "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist/retroarch.exe" -ErrorAction Ignore
- |
$ErrorActionPreference = 'Stop'
# Build RetroArch
bash.exe -l -c "make -f Makefile.griffin platform=$Env:MSVC_PLATFORM"
if ($LastExitCode -ne 0){throw "Failed to build RetroArch"}
mt.exe -nologo -manifest "retroarch.exe.manifest" -outputresource:"retroarch.exe;#1"
if ($LastExitCode -ne 0){throw "Failed to add manifest to RetroArch binary"}
rcedit-x64.exe "retroarch.exe" --set-icon "media\retroarch.ico"
if ($LastExitCode -ne 0){throw "Failed to set icon of RetroArch binary"}
# Create .media subdirectories
New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/audio" -ItemType Directory
New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/video" -ItemType Directory
New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/pkg" -ItemType Directory
New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist" -ItemType Directory
# Copy audio/video filters
Get-ChildItem -Path "libretro-common/audio/dsp_filters/*" -Include *.dsp | Copy-Item -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/audio"
Get-ChildItem -Path "gfx/video_filters/*" -Include *.filt | Copy-Item -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/video"
# Copy default config file
Copy-Item -Path "retroarch.cfg" -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/pkg/retroarch.default.cfg"
# Copy dll dependencies
# (note that msvc builds should not have any, but this
# may change in the future)
copypedeps.exe -r retroarch.exe "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist"
if ($LastExitCode -ne 0){throw "Failed to copy RetroArch dependencies"}
Remove-Item "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist/retroarch.exe" -ErrorAction Ignore
build-retroarch-linux-x64:
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-amd64-ubuntu:xenial-gcc9
@@ -426,6 +444,73 @@ build-retroarch-dingux-odbeta-mips32:
- "cp -f libretro-common/audio/dsp_filters/*.dsp ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
- "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
build-retroarch-rs90-odbeta-mips32:
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-dingux:odbeta
stage: build
variables:
MEDIA_PATH: .media
STRIP_BIN: 1
before_script:
- export NUMPROC=$(($(nproc)/3))
artifacts:
paths:
- retroarch
- retroarch_rs90_odbeta.opk
- ${MEDIA_PATH}
expire_in: 10 min
dependencies: []
script:
- "make -j$NUMPROC -f Makefile.rs90"
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
- "cp -f libretro-common/audio/dsp_filters/*.dsp ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
- "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
build-retroarch-retrofw-mips32:
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-dingux:odbeta
stage: build
variables:
MEDIA_PATH: .media
STRIP_BIN: 1
before_script:
- export NUMPROC=$(($(nproc)/3))
artifacts:
paths:
- retroarch
- retroarch_retrofw.opk
- ${MEDIA_PATH}
expire_in: 10 min
dependencies: []
script:
- "make -j$NUMPROC -f Makefile.retrofw"
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
- "cp -f libretro-common/audio/dsp_filters/*.dsp ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
- "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
build-retroarch-miyoo-arm32:
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-dingux:latest
stage: build
variables:
MEDIA_PATH: .media
STRIP_BIN: 1
before_script:
- export NUMPROC=$(($(nproc)/3))
artifacts:
paths:
- retroarch
- ${MEDIA_PATH}
expire_in: 10 min
dependencies: []
script:
- "make -j$NUMPROC -f Makefile.miyoo"
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg"
- "cp -f libretro-common/audio/dsp_filters/*.dsp ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
- "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
- "cp -f pkg/miyoo/20a-retroarch ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg"
build-retroarch-android-normal:
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-android:latest
stage: build
@@ -434,10 +519,15 @@ build-retroarch-android-normal:
- retroarch-precompiled/
expire_in: 10 min
script:
- "cd pkg/android/phoenix && ./gradlew assembleNormalRelease && cd -"
- "mkdir .retroarch-precompiled"
- "cp -r ./* .retroarch-precompiled/"
- "mv .retroarch-precompiled/ retroarch-precompiled/"
script:
- |
set -e
cd pkg/android/phoenix
./gradlew assembleNormalRelease
cd -
mkdir .retroarch-precompiled
cp -r ./* .retroarch-precompiled/
mv .retroarch-precompiled/ retroarch-precompiled/
build-retroarch-android-aarch64:
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-android:latest
@@ -447,10 +537,14 @@ build-retroarch-android-aarch64:
- retroarch-precompiled/
expire_in: 10 min
script:
- "cd pkg/android/phoenix && ./gradlew assembleAarch64Release && cd -"
- "mkdir .retroarch-precompiled"
- "cp -r ./* .retroarch-precompiled/"
- "mv .retroarch-precompiled/ retroarch-precompiled/"
- |
set -e
cd pkg/android/phoenix
./gradlew assembleAarch64Release
cd -
mkdir .retroarch-precompiled
cp -r ./* .retroarch-precompiled/
mv .retroarch-precompiled/ retroarch-precompiled/
build-retroarch-android-ra32:
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-android:latest
@@ -460,10 +554,14 @@ build-retroarch-android-ra32:
- retroarch-precompiled/
expire_in: 10 min
script:
- "cd pkg/android/phoenix && ./gradlew assembleRa32Release && cd -"
- "mkdir .retroarch-precompiled"
- "cp -r ./* .retroarch-precompiled/"
- "mv .retroarch-precompiled/ retroarch-precompiled/"
- |
set -e
cd pkg/android/phoenix
./gradlew assembleRa32Release
cd -
mkdir .retroarch-precompiled
cp -r ./* .retroarch-precompiled/
mv .retroarch-precompiled/ retroarch-precompiled/
build-retroarch-android-playstore-normal:
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-android:latest
@@ -473,10 +571,14 @@ build-retroarch-android-playstore-normal:
- retroarch-precompiled/
expire_in: 10 min
script:
- "cd pkg/android/phoenix && ./gradlew bundlePlayStoreNormalRelease && cd -"
- "mkdir .retroarch-precompiled"
- "cp -r ./* .retroarch-precompiled/"
- "mv .retroarch-precompiled/ retroarch-precompiled/"
- |
set -e
cd pkg/android/phoenix
./gradlew bundlePlayStoreNormalRelease
cd -
mkdir .retroarch-precompiled
cp -r ./* .retroarch-precompiled/
mv .retroarch-precompiled/ retroarch-precompiled/
build-retroarch-android-playstore-plus:
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-android:latest
@@ -486,10 +588,14 @@ build-retroarch-android-playstore-plus:
- retroarch-precompiled/
expire_in: 10 min
script:
- "cd pkg/android/phoenix && ./gradlew bundlePlayStorePlusRelease && cd -"
- "mkdir .retroarch-precompiled"
- "cp -r ./* .retroarch-precompiled/"
- "mv .retroarch-precompiled/ retroarch-precompiled/"
- |
set -e
cd pkg/android/phoenix
./gradlew bundlePlayStorePlusRelease
cd -
mkdir .retroarch-precompiled
cp -r ./* .retroarch-precompiled/
mv .retroarch-precompiled/ retroarch-precompiled/
build-static-retroarch-libnx-aarch64:
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-libnx-devkitpro:latest
@@ -739,7 +845,7 @@ build-static-retroarch-wiiu:
- "mv .retroarch-precompiled/ retroarch-precompiled/"
build-static-retroarch-dummy-wiiu:
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-devkitpro:latest
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-wiiu:latest
stage: build
variables:
MEDIA_PATH: .media
+184 -148
View File
@@ -1,155 +1,191 @@
{
"configurations": [
{
"name": "Mac",
"includePath": [
"/usr/include",
"/usr/local/include",
"${workspaceRoot}",
"${workspaceRoot}/libretro-common/include"
],
"defines": [],
"intelliSenseMode": "clang-x64",
"browse": {
"path": [
"/usr/include",
"/usr/local/include",
"${workspaceRoot}"
"configurations": [
{
"name": "Mac",
"includePath": [
"/usr/include",
"/usr/local/include",
"${workspaceRoot}",
"${workspaceRoot}/libretro-common/include"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
},
"macFrameworkPath": [
"/System/Library/Frameworks",
"/Library/Frameworks"
]
},
{
"name": "Linux",
"includePath": [
"/usr/include",
"/usr/local/include",
"${workspaceRoot}",
"${workspaceFolder}/libretro-common/include",
"${workspaceRoot}/libretro-common/include"
],
"defines": [],
"intelliSenseMode": "clang-x64",
"browse": {
"path": [
"/usr/include",
"/usr/local/include",
"${workspaceRoot}"
"defines": [],
"intelliSenseMode": "clang-x64",
"browse": {
"path": [
"/usr/include",
"/usr/local/include",
"${workspaceRoot}"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
},
"macFrameworkPath": [
"/System/Library/Frameworks",
"/Library/Frameworks"
]
},
{
"name": "Linux",
"includePath": [
"/usr/include",
"/usr/local/include",
"${workspaceRoot}",
"${workspaceFolder}/libretro-common/include",
"${workspaceRoot}/libretro-common/include"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
}
},
{
"name": "Win32",
"includePath": [
"C:/Program Files (x86)/Windows Kits/10/Include/10.0.15063.0/um",
"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}",
"${workspaceFolder}/libretro-common/include"
],
"defines": [
"_DEBUG",
"UNICODE"
],
"intelliSenseMode": "msvc-x64",
"browse": {
"path": [
"C:/Program Files (x86)/Windows Kits/10/Include/10.0.15063.0/um",
"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}"
"defines": [],
"intelliSenseMode": "clang-x64",
"browse": {
"path": [
"/usr/include",
"/usr/local/include",
"${workspaceRoot}"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
}
},
{
"name": "Win32",
"includePath": [
"C:/Program Files (x86)/Windows Kits/10/Include/10.0.15063.0/um",
"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}",
"${workspaceFolder}/libretro-common/include"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
},
"cStandard": "c11",
"cppStandard": "c++17"
},
{
"name": "msys2-mingw32",
"includePath": [
"C:/msys64/mingw32/include",
"C:/msys64/mingw32/i686-w64-mingw32/include",
"${workspaceRoot}/libretro-common/include",
"${workspaceRoot}/include",
"${workspaceRoot}"
],
"defines": [
"_DEBUG",
"UNICODE"
],
"intelliSenseMode": "msvc-x64",
"browse": {
"path": [
"C:/msys64/mingw32/include",
"C:/msys64/mingw32/i686-w64-mingw32/include",
"${workspaceRoot}/libretro-common/include",
"${workspaceRoot}/include",
"${workspaceRoot}"
"defines": [
"_DEBUG",
"UNICODE"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
}
},
{
"name": "msys2-mingw64",
"includePath": [
"C:/msys64/mingw64/include",
"C:/msys64/mingw64/x86_64-w64-mingw32/include",
"${workspaceRoot}/libretro-common/include",
"${workspaceRoot}/include",
"${workspaceRoot}"
],
"defines": [
"_DEBUG",
"UNICODE"
],
"intelliSenseMode": "msvc-x64",
"browse": {
"path": [
"C:/msys64/mingw64/include",
"C:/msys64/mingw64/x86_64-w64-mingw32/include",
"${workspaceRoot}/libretro-common/include",
"${workspaceRoot}/include",
"${workspaceRoot}"
"intelliSenseMode": "msvc-x64",
"browse": {
"path": [
"C:/Program Files (x86)/Windows Kits/10/Include/10.0.15063.0/um",
"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}"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
},
"cStandard": "c11",
"cppStandard": "c++17",
"configurationProvider": "ms-vscode.makefile-tools"
},
{
"name": "msys2-mingw32",
"includePath": [
"C:/msys64/mingw32/include",
"C:/msys64/mingw32/i686-w64-mingw32/include",
"${workspaceRoot}/libretro-common/include",
"${workspaceRoot}/include",
"${workspaceRoot}"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
}
},
{
"name": "Switch",
"includePath": [
"/opt/devkitpro/devkitA64/aarch64-none-elf/include",
"/opt/devkitpro/devkitA64/lib/gcc/aarch64-none-elf/8.3.0/include",
"/opt/devkitpro/libnx/include",
"/opt/devkitpro/portlibs/switch/include",
"/opt/devkitpro/portlibs/switch/include/freetype2",
"${workspaceFolder}/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE",
"__aarch64__",
"__SWITCH__",
"HAVE_LIBNX"
],
"windowsSdkVersion": "10.0.17763.0",
"compilerPath": "/opt/devkitpro/devkitA64/bin/aarch64-none-elf-gcc",
"cStandard": "c11",
"cppStandard": "c++11",
"intelliSenseMode": "gcc-x64"
}
],
"version": 4
"defines": [
"_DEBUG",
"UNICODE"
],
"intelliSenseMode": "msvc-x64",
"browse": {
"path": [
"C:/msys64/mingw32/include",
"C:/msys64/mingw32/i686-w64-mingw32/include",
"${workspaceRoot}/libretro-common/include",
"${workspaceRoot}/include",
"${workspaceRoot}"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
}
},
{
"name": "msys2-mingw64",
"includePath": [
"C:/msys64/mingw64/include",
"C:/msys64/mingw64/x86_64-w64-mingw32/include",
"${workspaceRoot}/libretro-common/include",
"${workspaceRoot}/include",
"${workspaceRoot}"
],
"defines": [
"_DEBUG",
"UNICODE"
],
"intelliSenseMode": "msvc-x64",
"browse": {
"path": [
"C:/msys64/mingw64/include",
"C:/msys64/mingw64/x86_64-w64-mingw32/include",
"${workspaceRoot}/libretro-common/include",
"${workspaceRoot}/include",
"${workspaceRoot}"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
}
},
{
"name": "Switch",
"includePath": [
"/opt/devkitpro/devkitA64/aarch64-none-elf/include",
"/opt/devkitpro/devkitA64/lib/gcc/aarch64-none-elf/8.3.0/include",
"/opt/devkitpro/libnx/include",
"/opt/devkitpro/portlibs/switch/include",
"/opt/devkitpro/portlibs/switch/include/freetype2",
"${workspaceFolder}/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE",
"__aarch64__",
"__SWITCH__",
"HAVE_LIBNX"
],
"windowsSdkVersion": "10.0.17763.0",
"compilerPath": "/opt/devkitpro/devkitA64/bin/aarch64-none-elf-gcc",
"cStandard": "c11",
"cppStandard": "c++11",
"intelliSenseMode": "gcc-x64"
},
{
"name": "WiiU",
"includePath": [
"/opt/devkitpro/devkitPPC/powerpc-eabi/include",
"/opt/devkitpro/devkitPPC/lib/gcc/powerpc-eabi/6.3.0/include",
"/opt/devkitpro/portlibs/ppc/include",
"${workspaceFolder}/**"
],
"defines": [
"WIIU",
"WIIU_HID"
],
"windowsSdkVersion": "10.0.17763.0",
"compilerPath": "/opt/devkitpro/devkitPPC/bin/powerpc-eabi-gcc",
"cStandard": "c11",
"cppStandard": "c++11",
"intelliSenseMode": "gcc-x64"
},
{
"name": "ps2sdk-ee",
"includePath": [
"${env:PS2DEV}/ps2sdk/common/include",
"${env:PS2DEV}/ps2sdk/ee/include",
"${env:PS2DEV}/gsKit/include",
"${workspaceFolder}/**"
],
"defines": [
"PS2",
"_EE"
],
"compilerPath": "${env:PS2DEV}/ee/bin/mips64r5900el-ps2-elf-gcc",
"cStandard": "c11",
"cppStandard": "c++11",
"intelliSenseMode": "gcc-x64"
}
],
"version": 4
}
+4 -33
View File
@@ -1,9 +1,9 @@
{
"terminal.integrated.shell.windows": "C:\\msys64\\usr\\bin\\bash.exe",
/*"terminal.integrated.shell.windows": "C:\\msys64\\usr\\bin\\bash.exe",
"terminal.integrated.env.windows": {
"PATH": "/mingw64/lib/ccache/bin:/mingw64/lib/ccache/bin:/mingw64/lib/ccache/bin:/mingw64/bin:/usr/local/bin:/usr/bin:/bin:$PATH",
"MSYSTEM": "MINGW64",
},
},*/
"terminal.integrated.cursorBlinking": true,
"editor.tabSize": 3,
"editor.detectIndentation": false,
@@ -11,20 +11,15 @@
"editor.insertSpaces": true,
"editor.formatOnSave": false,
"files.associations": {
"frontend_driver.h": "c",
"*.h": "c",
"*.in": "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",
"menu_driver.h": "c",
"file_path.h": "c",
"unordered_map": "c",
"unordered_set": "c",
"sstream": "cpp",
@@ -33,39 +28,15 @@
"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",
"gfx_widgets.h": "c",
"message_queue.h": "c",
"task_queue.h": "c",
"fifo_queue.h": "c",
"file_list.h": "c",
"strl.h": "c",
"configuration.h": "c",
"ozone_display.h": "c",
"verbosity.h": "c",
"retroarch.h": "c",
"gfx_animation.h": "c",
"netplay.h": "c",
"scaler.h": "c",
"deque": "c",
"vector": "c",
"xhash": "c",
"xiosbase": "c",
"xstring": "c",
"xtree": "c",
"xutility": "c",
"menu_input_dialog.h": "c",
"ozone_sidebar.h": "c",
"menu_thumbnail_path.h": "c",
"badges.h": "c"
"xutility": "c"
},
"C_Cpp.dimInactiveRegions": false,
}
+175 -40
View File
@@ -3,18 +3,26 @@ RetroArch and the libretro team would like to
acknowledge the following contributors:
1ch (L0sted)
Aaahh Ahh (Aaahh)
51eating (dnjstlr555)
6lackmag3
A Schain (aschain)
Aaron Oneal (aarononeal)
Adam Londero (alondero)
Adam Mechtley (amechtley)
AdrianoML
Adrien Moulin (elyosh)
Aethyrion
ajefr
AKuHAK
Alberto Alonso Ruibal (albertoruibal)
Alberto Simon (asimonf)
Alcaro
Aleksey Samoilov (Sunderland93)
Alessandro Mangone (Vektor) (zevektor)
Alessio Tosto (Rinnegatamante)
Alex Eckhart (alex34567)
Alex Folland (AlexFolland)
Alex Kornitzer (alexkornitzer)
Alexander Spady (alkaseltzerspadt)
Alexandre Garcia (Alexandre-Garcia)
Alfredo Monclus (alfrix)
@@ -23,98 +31,151 @@ alphanu1
altiereslima
Alwin Garside (Yogarine)
Amiga1200Gamer (amigagamer)
amtz
Andre Leiradella (leiradel)
Andrés (fr500)
Andy Nguyen (TheOfficialFloW)
Anthony J. Bentley (bentley)
Antonio Jose Ramos Marquez (psxdev)
AridRayne
ArnaudFaucher
arstn
Arto Vainiolehto (arakerlu)
asavah
Ash (QuarkTheAwesome)
Ashura (CoalaJoe)
Autechre64
Autechre (twinaphex)
Avton1
ayssia
barbudreadmon
Barry Rowe (BarryJRowe)
Bartłomiej Burdukiewicz (dev-0x7C6)
bearoso
benklop
benutzer193
Bernhard Schelling (schellingb)
blackgur
bmaupin
Bobby Smith (bslenul)
Boris Timofeev (btimofeev)
bparker06
Brandon Johnson (Denu8thell)
Brad (SpiralBrad)
Braden Farmer (farmerbb)
Brandon Johnson (BinaryFissionGames)
Breno Dantas Mendonça (brenodantas10)
Brian Hoem (ZornTaov)
Brian Koropoff (bkoropoff)
Brian S. Stephan (bsstephan)
BringerethOfLight
Brunnis
bsmith (DogParty)
bubuleur
bulzipke
C.W. Betts (MaddTheSane)
Casey Borders (CaseyB)
CatGreen90
ceb33
celerizer
Charlène (julianaito)
CheezeCake
Chris Merrett (chrisfu)
Christian Murphy (grimpunch)
christianhaitian
Christoffer Tibell (Brottweiler)
chu (9chu)
Chuck Smith (chucksmith)
CidVonHighwind
clienthax
cold-brewed
CompCom
ComradeEcho
confusedguy9
Conn O'Griofa (psyke83)
Connor McLaughlin (stenzek)
Conrad Kreyling (konistehrad)
CozmoP
Cpasjuste
cpsw
Cray Elliott (MP2E)
Crestwave
CrewMdk
Cristi Mitrana (cmitu)
Cristian Sandu (crazyquark)
ctult
crystalct
CTCaer
cucholix
cudencuden
cxd4
Cyan (44100hertz)
Daehan Kim (iAmGhost)
dalter
Dan Weiss (Dwedit)
danieljg
Daniil Zhilin (LaserMoai)
dankcushions
Darren Thompson (DiscoStarslayer)
Dave (freakdave)
Dave Leaver (danzel)
David CARLIER (devnexen)
David Demelier (markand)
David Erickson (daviderickson)
David Shah (daveshah1)
David G. F. (davidgfnet)
David Lawson (dmrlawson)
David Walters (hiddenasbestos)
DEX357
diablodiab
dibas
Diego A. (SuperrSonic)
Diego Viola (diegoviola)
digitalisland-nino
Diogo Barros (BlueKore)
DogParty
Dmitry Sergeenkov (DuMOHsmol)
dor3k
Doug Christman (dobyrch)
driver1998
Dudu Akiva (duduke)
duganchen
dukemiller
duskgao
Dylan Scott (dyscott)
eadmaster
Eduard Strehlau (Herdinger)
ekipan
Elvira Khabirova (parport0)
embercold
Emmanuel Martin (daliaetnano)
endrift
erbridge
Ethan Lee (flibitijibibo)
Exvat
extrowerk
Ezio-PS
F (erbridge)
Fabio (Oibaf66)
Fabio Ritrovato (Sephiroth87)
Fayne Aldan (FayneAldan)
fff (felinben)
FIX94
Flame Sage (chris062689)
flyinghead
FmT0
francescotintori
Francisco Javier Trujillo Mata (fjtrujy)
Francisco José García García (frangarcj)
FreeShippingParty
fuzzydunlops732 (JKoppel93)
Gabriel (Ghabry)
GameDragon2k
Garrett Brown (garbear)
gatecat (daveshah1)
GavinDarkglider
gblues
Geoffrey Plitt (GeoffreyPlitt)
Glenn Hevey (hevey)
Googer
gordon-fish
gouchi
grant2258
Gregor Richards (GregorR)
Grzegorz Raciborski (graciborski)
Gui Andrade (archshift)
Guillaume Thiolliere (thiolliere)
Guo Yunhe (guoyunhe)
Gustavo Maciel Dias Vieira (gmdvieira)
gvbr
H. İbrahim Güngör (igungor)
@@ -122,44 +183,61 @@ hadess
Hans-Kristian Arntzen (Themaister)
Henri Gomez (hgomez)
Henri Gomez (hgomez-sonarsource)
Higor Eurípedes (heuripedes)
Hisman Yosika (dnjstlr555)
Henry Castro (hcvcastro)
Higor E. (heuripedes)
hizzlekizzle
Hugo B. (hug0b)
Hugo Hromic (hhromic)
hunterk
hyarsan
Hyllian
HyperspaceMadness
i30817
iAmGhost
im4potato
ImJezze
Jack (jakcron)
Jacob (cubtekki)
Jacob Patterson (jacobpa)
jacobsson (Roet-Ivar)
Jake Stine (jstine35)
James Le Cuirot (chewi)
James Sexton (Bezier89)
Jamiras
Jan Holthuis (Holzhaus)
Jason Tomsic (plaidman)
Javier Martinez Canillas (martinezjavier)
Jay McCarthy (jeapostrophe)
jdgleaver
Jean-André Santoni (kivutar)
Jean-Paul Mari (djipi)
Jean-Sébastien Guay (Skylark13)
Jesse Bryan (winneon)
Jeff (jeffbdavenport)
Jeff Sousa (LordeIlluminati)
jess (winneon)
Joan Coll Cerdán (johanbcn)
Job Adrian Salinas Gonzalez (efylan)
Joe Osborn (JoeOsborn)
Joel (joel16)
Joerg Sonnenberger (jsonn)
Johannes Schickel (lordhoto)
John Parton (john-parton)
John Regan (jprjr)
Jon Maddox (maddox)
Jonathan (JonnyMe)
Jonathan Relf (jonathanrelf)
Joohan Lee (losernator)
Jools Wills (joolswills)
Jose Lage Miguez (Joselagem)
Joseph Carter (iKarith)
Joseph Conan Montgomery (Grotke)
Josh Palmer (ShiftyAxel)
jsd1982 (JamesDunne)
JuanVCS
Justin Jacobs (dorkster)
Justin Weiss (justinweiss)
JustMeDaFaq
Karl Forshaw (karlforshaw)
Keith Bowes (keithbowes)
Ken Rossato (rossato)
Kopert
krzys_h (krzys-h)
kurumushi
kwyxz
@@ -167,10 +245,12 @@ l3iggs
lambolighting
lasers
Lawrence Kesteloot (lkesteloot)
lifajucejo
liffy (lifning)
LazyBumHorse
LazyFunker
Lennard Kittner (Lennard599)
Lionel Flandrin (simias)
littleguy77
liushuyu
Logan (loganmc10)
lordashram
Lothar Serra Mari (lotharsm)
@@ -178,51 +258,63 @@ Lubosz Sarnecki (lubosz)
lucianposton
lxerandrew
m4xw
mahoneyt944
Mahyar Koshkouei (deltabeard)
Mai M. (lioncash)
maksun
Manuel Alfayate Corchete (vanfanel)
Marcelo Munhoz Pélos (mpelos)
Marcus Crisostomo (mcrisostomo)
markwkidd
Maschell
Mat M. (lioncash)
Mats A. (Datamats)
Mats (m4tsa)
Matt Sephton (gingerbeardman)
Matthew Bauer (matthewbauer)
Matthew Wang (asakous)
Max K. (langerhans)
Maxime Gauduin (alucryd)
mcrisostomo
meancoot
meepingsnesroms
meleu
Merry Mello (merryMellody)
micechal
Michael Burgardt (DisasterMo)
Michael K. (kuxii2016)
Michael Lelli (ToadKing)
Michał Durak (micechal)
mickski56
Mico Chopitea (micochops)
miguelpinheiro
Mike Swanson (chungy)
miqlas (extrowerk)
mikeOSX
minucce
misson20000
Monroe88
Morgane (Niouby)
mprobinson
MrHuu
MrJs (mrjschulte)
mudlord
Muhamed Hobi (mmhobi7)
muzuiget
mwtremblay
myfreeweb
Nargash
Nathan S. (natinusala)
NathanStrong-Tripwire
nattycleopatra
nayslayer
Nephilim
negativeExponent
Neil Barkhina (nbarkhina)
Nephilim (Nephil1m)
netux79
nfnty
nia (ensra)
nia (alarixnia)
Nicolas Adenis-Lamarre (nadenislamarre)
Nicolas Guillaumin (nguillaumin)
Nicolas Lopez Fernandez (pyroesp)
Nikita Vakhrushev (SwooodGa)
Nicolas Roehm (NicolasRoehm)
Nikita Vakhrushev (XF10C)
Nikola Kocić (nikola-kocic)
Niouby
Nikos Chantziaras (realnc)
Nils Hasenbanck (hasenbanck)
njordan64
nosh01
not6 (r-type)
notaz
@@ -231,51 +323,77 @@ nurupo
Oggom
Oleg Shevchenko (olsh)
opendata26
Ophidon
orbea
Oschowa
OsirizX
OV2
Palmic (mpalomas)
pamapa
Paolo Bonzini (bonzini)
Paul McCarty (notabeatle)
pcjco
Pedro Ferraz (ferrazpedro)
Pedro Ribeiro (pedrib)
pinumbernumber
pjft
pponso1
pyroesp
R-YaTian
Ramiro Morales (ramiro)
Raphaël Zumer (rzumer)
retro-wertz
Reid Kleckner (rnk)
repojohnray
retrotails
revvv
reztek
Richard Howell (rmaz)
rlnilsen
Rob Loach (RobLoach)
Robin de Rooij (rrooij)
Romain Gay (vikbez)
Romain Graillot (notnotme)
Romain TISSERAND (rtissera)
Roman Fomin (rfomin)
Roman Kalashnikov (lunixoid)
Royerson
rrooij
rsn8887
Ryan C. Gordon (icculus)
Ryunam
rz5
Saggi Mizrahi (ficoos)
SAKUJ0
Sam Pagenkopf (44100hertz)
Sam Lantinga (slouken)
Sam Stenvall (Jalle19)
Samuel P. (p-sam)
Sanaki
Scheiker
Sebastien Ronsse (sronsse)
SecularSteve
Sefa Eyeoglu (Scrumplex)
Sergei Nikitin (Kert)
Sergi Granell (xerpi)
Sergio Padrino (sergiou87)
sergio-br2 (sergiobenrocha2)
Seth Kingsley (sethk)
Shadow (ShadowOne333)
Shane Mouton (ismouton)
shantigilbert
Shfty
Shizeeg Unadequatov (shizeeg)
SimpleTease
SindenLightgun
Sirrempat
slotek
Soar Qin (soarqin)
sparklewind
spec-chum
Stefan (gizmo98)
stefan-gr
stellarporter
Steven M. Vascellaro (stevoisiak)
Stephanie Gawroriski (XerTheSquirrel)
Stevoisiak
stoofin
Stuart Carnie (stuartcarnie)
Sunguk Lee (d3m3vilurr)
Supernature2k
@@ -283,39 +401,56 @@ Sven (RetroSven)
Swingflip
Swizzy
Sylvain Colinet (Skarsnik)
Szunti
Tadek Kijkowski (monkeyman79)
Tatsuya79
Terry Lewis (terry-au)
thedax
theheroGAC
TheMrIron2
TheOfficialFloW
thiolliere
ThePhxRises
Thomas Lorblanchès (Zlika)
Tim Van den Langenbergh (tmtvl)
Tobias Gruetzmacher (TobiX)
Tobias Jakobi (tobiasjakobi)
Todd Laney (ToddLa)
Tomáš Kelemen (ToKe79)
Tony (sonninnos)
Tor Arne Vestbø (torarnv)
Torsten Paul (t-paul)
toshixm
TotalCaesar659
TroggleMonkey
Twinaphex
tunip3
Tyler Loch (TylerLoch)
unrelentingtech
URBANsUNITED
Valerio Proietti (kamicane)
vgmoose
Vicki Pfau (endrift)
Vicky C Lau (vickychenglau)
vin (suseme)
Vladimir Panteleev (CyberShadow)
Vladimir Serbinenko (phcoder)
Víctor "IlDucci" (IlDucci)
waitingmoon
Wang Vincent (susemm)
webgeek1234
Weedy Weed Smoker (WeedyWeedSmoker)
WerWolv
whorsemaster
Wiimpathy
Wiktor Strzębała (wiktorek140)
Woohyun Shin (sinusinu)
xenomorph-us
xhp-creations
Yari (hyarsan)
yesfish (huwpascoe)
Yongwoon Cho (ssangkong)
yoshisuga
Zer0xFF
zeromus
zlice
Zoran Vuckovic (casdevel)
Érico Nogueira Rolim (ericonr)
Ömercan Kömür (fpscan)
シーはディー四を取る (cxd4)
)";
+336
View File
@@ -1,5 +1,341 @@
# Future
# 1.9.13
- CHEEVOS/MSVC2010: Add Cheevos support
- CRT/SWITCHRES: Fixes some issue where scaling is incorrect in some video modes for CRT output.
- FRAMEDELAY: Add 'Automatic Frame Delay' option
- INPUT: Add 'All users control the menu' setting - any gamepad can control the menu when this is enabled. Only limitation right now is that only player 1 can toggle the menu, but any set Menu Toggle Controller Combo will work fine for all users, so this should be acceptable for now
- INPUT/UDEV: Fix Dolphin bar and safeguard against not adding devices with no mouse or touch buttons detected
- NETPLAY/CLI: -C/--connect commandline fix
- NETPLAY: Other improvements
- NETPLAY: Remove forced disconnection on unknown netplay command -
will be backwards compatible with any version that removed this
disconnect. instead of disconnecting, we just read the data and
ignore, like most network implementations do
- TASKS/CHEEVOS: Replace coroutines with tasks/thread
- TASKS/DATABASE/EXPLORE: Initialise 'Explore' menu on a background thread - no more stall when hovering over the Explore tab
# 1.9.12
- 3DS: Ensure parallax barrier is disabled when '3DS Display Mode' is '2D'
- COMMAND: Command interface should work again
- INPUT/HID: Rewrote the HID deregistration algorithm; it should no longer cause issues when dealing with multiple pads of the same HID/VID combo
- INPUT/HID: Fix initialization bug that caused wiimotes to fail to register without an accessory attached
- INPUT/HID: Fix Wiimote regression
- INPUT/HID/MAC: Get Sony Sixaxis (DualShock 3) working on MacOS
- INPUT/UDEV: Add extra abs check for dolphinbar
- INPUT/UDEV: Add relative left mouse button when pointer device is not abs
- INPUT/WAYLAND: Fix keyboard input on Wayland - fixes 'Certain cores ignore user input'
- NETPLAY: Improvements from Cthulhu
- OPENDINGUX: Fix HAS_ANALOG/HAS_MENU_TOGGLE defines in sdl_dingux joypad driver
- LIBRETRO: Enable SRAM for contentless cores
- LIBRETRO: Add environment callback to get the rate retro_run is called - GET_THROTTLE_STATE and RETRO_THROTTLE_UNBLOCKED environment callback
- LINUX: Update metadata manifest
- MENU/OZONE: New themes - Solarized Light, Solarized Dark
- WINDOWS/WIN9X: Fix non-ASCII text display in window title
# 1.9.11
- ANDROID: New launcher logo - will fill the corners on the homescreen
- D3D9: Driver works again (RGUI only and software rendered cores work, no shader support yet)
- HID/MAC: WiiU GameCube Adapter now works
- HID/WIIU: WiiU and general HID subsystem unified/merged
- INPUT: Refactor menu toggle combo button logic to allow quit combo button
- INPUT/UDEV: Add mouse relative check and set appropriately to fix issue
- LIBNX/SWITCH: Splitted Joycon button mapping
- LIBRETRO: Add environment callback to enable cores to notify the frontend that a core otion value has changed
- MIYOO: Add initial port
- OPENDINGUX/RG350: Enable tinyalsa for the RG350
- PS2: Add 'Change Resolution' option
- PS2: Add option to change video windows offsets
- STEAM/LINUX: Move to new 'soldier' runtime
- WAYLAND: Remove xdg-shell-v6 protocol
- WINDOWS: Fix non-ASCII text display in window title
- WINDOWS 11: Shows Windows 11 version name now (Information -> System Information)
- UWP: Further improvements to WinRT VFS layer
# 1.9.10
- 3DS: Add bottom screen idle state
- 3DS: Add unique IDs for Gearboy/Gearcoleco/Gearsystem, correct CAP32 code
- 3DS/SAVESTATES: Fix RAM states to file when core deinits
- AUDIO/MIXER: Pad sample buffers to prevent potential heap-buffer-overflows when resampling (fixes crash when using 30 kHz menu audio files)
- AUDIO/LINUX/SNAP: Add JACK support
- CHEEVOS: Don't write achievement credentials to overrides
- CHEEVOS: Disable slowmotion when enabling hardcore mode
- D3D9: Fixed MVP matrix issue for RGUI texture (main game frame still won't show up though)
- D3D11/D3D12/HDR: Fixed contrast to be more correct - now scales from 0-10 linearly and behaves more the way you'd expect it to - changed name to ditch legacy settings users may have
- D3D11/HDR: Fixed D3D11's blend, rasterizer and topology states not being set to the sames when using HDR and leaving the menu - caused issues with PCSX2's Shadow of the Colossus
- D3D11/D3D12/HDR: Added ability to skip inverse tonemapper to the shader via the constant buffer using 'inverse_tonemap' - set to 0.0f to skip
- D3D11/D3D12/HDR: Fixed potential bug when swapping between hdr and sdr and the bit depth not being set correctly
- D3D11/D3D12/HDR: Added numerous helper functions to help create the correct values to colour the UI - normally the white UI elements should be rendered at paper white not max brightness for various reasons
- BUGFIX/ANDROID: Fix crash that could happen on Android with Sameboy core - would crash on rumble function
- GFX/WIDGETS: New regular widget message appearance
- INPUT/MOUSE: Add distinct mouse zero index label for drivers that do not support multimouse
- INPUT/RUMBLE: Add generic rumble gain to input settings
- INPUT/UDEV/X11: Add workaround to fix keyboard input when using X11 + Udev
- LIBNX/SWITCH: Add Video Filters support
- LOCALIZATION: Fetch translations from Crowdin
- OPENDINGUX/BETA: Disable OpenAL
- PLAYLISTS: Add 'Refresh Playlist' option
- STEAM: Initial release on Steam
- UWP/VFS/XBOX: Improvements and bugfixes to UWP VFS driver
- VIDEO/REFRESH RATE: Automatic PAL/NTSC refresh rate switch where available - as long as the platform display server allows changing refresh rates and the display has the desired refresh rate
- VIDEO FILTERS: Add 'Picoscale_256x-320x240' video filter
- WIIU/HID: Fix analog inputs on HID devices
# 1.9.9
- 3DS: Add bottom touchscreen menu
- 3DS/SAVESTATES: Save and load save states to and from RAM
- AUDIO/MIXER: Ensure than menu sounds are re-enabled when calling CMD_EVENT_AUDIO_REINIT
- AUDIO/RESAMPLER/MIXER: Fix menu sounds (audio mixing) when using the 'sinc' resampler with quality lower than 'normal'
- AUDIO/CONVERSION/ARM NEON: Add intrinsic NEON versions for float_to_s16/s16_to_float - should lead to optimized codepaths for AArch64/ARMv7 architectures without being dependent on ASM codepaths.
- AUDIO/RESAMPLER/ARM NEON: Add intrinsic NEON version for lanczos sinc function - should lead to optimized codepaths for AArch64/ARMv7 architectures without being dependent on ASM codepaths.
- CHEEVOS: Upgrade to rcheevos 10.2
- CHEATS: Add enhanced search functionality to the 'Cheats' menu
- CHEATS/RUNAHEAD: Fix cheats when using second instance runahead
- CONFIG: Add option to (force-)write current core options to disk (Quick Menu)
- CORE INFO CACHE: Remove core path from core info cache. Should make core info caches portable now (for example: you can move RetroArch to a separate dir and they would still work).
- D3D11: Use Shader Model 5.0 for frontend shaders if D3D11 Feature level is at least 11.0 or higher. Should fix some new shaders that require SM 5.0 (like AMD FSR)
- D3D11: Add HDR support (disabled for UWP for now)
- D3D12: Add HDR support (disabled for UWP for now)
- EMSCRIPTEN: Fixed web player bug with filesystem and runtime
- INPUT/OVERLAY: Fix overlay input when analog to digital mapping is enabled
- INPUT/UDEV: Look for "ID_INPUT_KEY", not "ID_INPUT_KEYBOARD"
- INPUT/WINRAW: Fix crash when overlay is enabled
- MAC/METAL: Add Discord RPC support
- MENU: Allow 'Custom Aspect Ratio (X Position)/(Y Position)/(Width)/(Height)' to be entered manually via keyboard
- MENU: Allow 'Vertical Refresh Rate' to be entered manually via keyboard
- MENU/SHADERS: Highlight currently selected value in Shader Parameter drop-down lists
- STABILITY: Safer way of avoiding the race condition in
audio_driver_sample/audio_driver_sample_batch - we can check
audio-suspended to see if we're doing a fs/windowed toggle - enhances stability when fullscreen toggling/tearing down context
- STABILITY: When audio driver write callback function fails, don't
turn audio off completely - look if audio_driver_output_samples_conv_buf
is non-NULL first before we attempt to write audio - enhances stability when fullscreen toggling/tearing down context
- STABILITY: Input robustness for cores that use internal threading
(full teardown/setup), no audio should be processed at this point in
time
- VIDEO: Screen resolution list sanitizing
- VULKAN: Fix some Vulkan validation layer errors
- UWP: Updated icons courtesy of Danp142
- UWP/XBOX: Disable CPU model check on Xbox as it doesn't work and can even crash
- UWP/VFS/XBOX: Code cleanup and simplification of UWP VFS driver
# 1.9.8
- AUDIO/WINDOWS/WASAPI: Stop deactivating audio on fast forward
- CHEEVOS: Hide challenge indicators when resetting
- CHEEVOS: Support for more than 64 memory regions
- CHEEVOS: Automatically retry 'http error code -1'
- CONTENT INFORMATION: Show content info label+path rows always
- CORE OPTIONS: Core option categories implemented
- CORE OPTIONS: Add option to disable core option categories
- D3D10/11/12: Fix gfx_display_draw_texture - fixes OSK (On-Screen Keyboard) issues
- DATABASE: Fix heap-buffer-overflow when fetching CRC values
- DATABASE/EXPLORE: Fix CRC32 reading in explore menu
- DATABASE/LIBRETRODB: Fix writing of numerical values
- DATABASE/LIBRETRODB: Fix libretro-db loading on big endian platforms
- DUMMY CORE: Skip state_manager_event_{deinit/init} when core type is dummy, should skip warning spam 'Implementation uses threaded audio. Cannot use rewind..' when using rewind
- INPUT/UDEV: Limit udev device scan to subsystem 'input'
- INPUT/SDL2/WINDOWS: Fix keyboard event keycodes
- INPUT/WAYLAND: Fixes a bug where the first player's mouse, pointer, and lightgun are echoed to the other ports. Now, those other ports correctly report zero. In the future support for multiple mouselike devices will need to be added, which is a bigger project
- INPUT/WAYLAND: The driver now respects keyboard_mapping_blocked
- INPUT/WAYLAND: When possible, deprecated lightgun defines are replaced with the new ones. The coordinates are still using the old relative callbacks
- INPUT/WINRAW: Trigger joypad driver reinit on DEVICECHANGE - avoids fullscreen toggle
- INPUT/WINRAW: Alt sticky fix
- INPUT/WINRAW: Prevent Alt getting stuck when Alt-Tabbing
- INPUT/WINRAW: Add pointer status
- INPUT/WINRAW: Add missing analog keybinds
- LIBNX/SWITCH: Fix poll missing for controller 2-8
- LIBNX/SWITCH: Fix layout not applied correctly and hangs when splitting joycons
- LIBRETRO: Core options category API implemented
- LIBRETRO: Fix RETRO_ENVIRONMENT_SET_FASTFORWARDING_OVERRIDE callback when runahead is enabled
- LIBRETRO: Add environment callback for enabling core option menu visibility updates without toggling Quick Menu
- LOGGING: Starting logging and verbose mode before first config load
- LINUX: In some Linux Desktop Environments, like Budgie, task bar feature is unable to pin applications. With StartupWMClass= present in .desktop file, it is possible to pin the application
- LOCALIZATION: Fetch translations from Crowdin
- MENU: Relocate 'Manage Playlists' to top
- MENU: Fullscreen resolution width/height settings no longer require 'advanced settings'
- MENU/REFRESH RATE: Fix double notifications with refresh rate settings
- MENU/OZONE: Ensure the existence of values used in selection calculation
- MENU/OZONE/VULKAN: Casting to unsigned caused an integer overflow and after float promotion would lead to 'x' being a garbage value, leading to problems when this value was passed to vkCmdSetViewport. This stops Vulkan validation layers from complaining about it
- METAL: Fixed font driver memory leaks
- MOUSE: Change default mouse index to port index
- MOUSE: Friendly names for mice where available
- OSX: Fix some memory leaks
- OSX: Fix controller duplication bug
- PS2: Implement alpha for the video driver
- PS2: Aspect ratio handling
- RETROFW: Initial port
- UWP/XBOX: Enable Explore tab by default - seems to work fine
- UWP/XBOX: Fix startup issues with latest Xbox Dashboard updates - ANGLE cores still show up wrong
- UWP/XBOX: fix issue where files where opened as OPENALWAYS instead of OPENEXISTING this fixes beetle cores
- UWP/XBOX: fix issue where filesizes where not returned properly, this fixes loading arcade dat files
- UWP/TRANSLATION: Enabled translation services for both UWP MSVC2017 and 2019. No TTS speech yet.
- VIDEO: Fix refresh rate 59Hz rounding
- WINDOWS: Remember original refresh rate
- WINDOWS/VULKAN: Refresh rate fixes + cleanups
- WIIU: Fix L3/R3 buttons
- WIIU: Compress RPX libretro cores
- WIIU: Add ICInvalidateRange (necessary for JITs)
- WIIU: Slight filesystem optimisation
- WIIU: Add option for running without core info (emscripten-style)
# 1.9.7
- 3DS: Add unique ID's
- CRT/SWITCHRES: Fixed some Monitor index bugs ad updated to the latest SR2
- CRT/SWITCHRES: Fixed monitor index corruption on Windows and added correct fractal scaling. Only used when required
- CRT/SWITCHRES: Updated log defines to match SR upstream.
- CRT/SWITCHRES: Added new SR_CONFIG_PATHS for non Windows and Linux systems.
Not that SR works on them but to fix RA compile issues
- CRT/SWITCHRES: Updated SR2 code base to latest. Added supprt for windows monitor indexing. Fixed monitor index bug where index 1 was not being used correctly and "auto" was not being sent.
- CRT/SWITCHRES: Updated swithres for x86 windows fix
- CRT/SWITCHRES: fixed SR2 auto issue
- CRT/SWITCHRES: Fixed auto monitor bug
- CRT/SWITCHRES: Fixed monitor index corruption on Windows
- CRT/SWITCHRES: Fixed buffer size bug
- CRT/SWITCHRES: Added correct fractal scalling. only used when required.
- CORE INFO: Automatically disable core info cache when core info directory is read-only
- EMSCRIPTEN: add MAME2003 / MAME2003-plus to web.libretro
- INPUT/UDEV: udev fixes add pointer pressed to pointer device to allow udev users to access this device
- LIBNX/SWITCH: Enable 7zip support
- LINUX/XDG: Prevent xdg-screensaver's "Protocol error" messages
- LOCALIZATION: Fetch translations from Crowdin
- LOCALIZATION: Add missing languages for the first startup
- MENU/XMB/WIDGETS: Add workaround for FPU bug that breaks scale factor comparisons on certain platforms (fixes XMB thumbnails on 32bit Linux/Windows)
- MENU/RGUI: Enable fullscreen thumbnail toggle using RetroPad 'start' button
- MENU/RGUI: Fix sublabel length when menu clock is disabled
- NETWORK/HTTP: Fix HTTP progress indication for large files on 32-bit systems
- NETWORK/NATT: implement natt fix from void()
- OPENDINGUX: Fix display when cores 'drop' frames
- OPENDINGUX BETA: Use ALSA audio driver by default
- OPENDINGUX BETA: Fix IPU scaling when running 256x224 (SNES/Genesis) content
- PATHS: Fix garbled path string
- PS2: Implement proper ps2_font driver instead of using the font driver from gskit
- PS2: Use BDM for increasing up USB stability
- PS3: First basic RSX driver for PSL1GHT
- RS90: Initial port
- RS90: Fix offset of OSD text
- RS90: Disable menu clock by default
- RS90: Hide 'Bilinear Filtering' video option
- RS90: Move appdata (retroarch) base directory to external microsd card
- RS90: Add optional approximate 'semi-linear' scaling filter
- SHADERS: Max Shader Parameters increased to 1024
- VIDEO: Add 'Integer Scale Overlay' - Force integer scaling to round up to the next larger integer instead of rounding down
- VIDEO: New 'Full' aspect ratio added. This aspect ratio is useful when used with a shader which has a border in it. The aspect ratio is set to the full window area, so that the viewport spans the whole viewport. When using a border type shader like the Mega Bezel this allows the graphics to span the whole window regardless of the user's monitor aspect ratio
- VITA: Wrong flags for not piglet version
- UNIX: Correct backlight max_brightness path
- UWP/XBOX: Default to Direct3D11 driver on UWP builds
- UWP/XBOX: Do not use windowed mode on UWP/Xbox by default, set default resolution to 1920x1080 by default. Should fix display issues with Dolphin/PCSX2 on Xbox
- WIIU: Fix inputs breaking when connecting/disconnecting remotes
- WIIU: Input - ignore some bogus KPAD results
- WIIU: Font rendering fixes - render font lines with correct spacing, and only sample alpha channel when rendering fonts
- WIIU/NETWORK: Network speed optimisations - WINSCALE, TCP sACK, large buffers
- WIIU/LIBFAT: Increase cache size on WiiU
- WIIU/FILE IO: Filesystem optimisations - add fast path for already aligned buffers
- WIIU/FILE IO: Use 128K vbufs for WiiU - we have loads of RAM and large vbufs are very beneficial
- WIIU/MENU/OZONE: Fix Ozone rendering error (scissor fix)
- WIIU/MENU/OZONE: Use Ozone icons instead of XMB Monochrome
# 1.9.6
- ARCHIVE: Fix archive delimiter detection when file path contains no slashes
- ANDROID: Do not duplicate port 0 mouse and gun inputs to other ports
- AUDIO/XAUDIO2: Fail instead of crashing when disconnecting an audio device
- CHEEVOS: Reset cached progress each time menu is opened
- CRT/SWITCHRES: Add support for switchres.ini core and directory overrides
- D3D11: Don't use allow tearing flag with blit swap chains. Also disables the flip model if the allow tearing flag is not supported.
- D3D11: Disable DXGI's ALT+ENTER handling
- D3D11: Don't pass ALLOW_TEARING when unsupported
- D3D11: Fix non-vsynced output without flip, black screens in fullscreen
- D3D12: Relocated 'd3d12_gfx_sync'
- D3D12: Fixed swap interval option
- GFX: Fix uninitialized variables in gfx_display_draw_cursor
- HISTORY: Hide 'Add to Favorites' when viewing an entry of the favorites playlist
- INPUT: 'Analog to Digital Type' usability improvements
- INPUT: Add support for mapping multiple controllers to a single input device
- INPUT/REMAPPING: Add support for mapping multiple controllers to a single input device
- INPUT/LIGHTGUN: Bind lightgun trigger to first mouse button by default
- INPUT/WINDOWS/RAWINPUT: Mouse access violation fix
- INPUT/UDEV: Only add mouse if it has buttons and add vebose device friendly names
- INPUT/UDEV: Skip mouse with no button errors and keep the rest
- INPUT/UDEV: Fix Game Focus mode
- INPUT/UDEV/X11: Change udev driver for dual lightgun support in X11
- LIBNX/SWITCH: Update to libnx 4.0.0
- LOCALIZATION: Fetch translations from Crowdin
- LOCALIZATION: Fix Switchres menu texts
- MENU/OZONE: Ensure sidebar display status is updated correctly when performing rapid menu navigation
- MENU/XMB: Dynamic wallpaper fix
- MENU/XMB: Icon opacity fix
- MENU/QT/WIMP: Fix default core detection when playlist file name does not match 'db_name'
- PLAYLISTS: Optimise scanning of large rom sets
- SECURITY: Plug so-called high-risk vulnerability related to Powershell - avoid injection - don't send speech input as commandline argument
- UWP/XBOX: Add expanded resources Rescap to increase performance of UWP version in app mode on Xbox
- WINDOWS/INSTALLER: Add smarter isEmptyDir reference implementation that looks for subdirectories from NSIS documentation
- WINDOWS/INSTALLER: Register new function DirectorySet that is called when pressing the "Next" button on the MUI_PAGE_DIRECTORY, aka the install folder selection GUI. DirectorySet contains the criteria for an acceptable folder, which are:
- `IfFileExists "$INSTDIR\retroarch.exe"` returns 1
- `IfFileExists "$INSTDIR\*.*` returns 0, there is no existing folder
- `IfFileExists "$INSTDIR\*.*"` returns 1, there is a folder, and `isEmptyDir` returns 1, therefore the folder is empty, including of subdirectories
- X11: Fix threaded video segfault
# 1.9.5
- ALSATHREAD: Make alsathread default for all ALSA devices with threads
- ARCHIVE: Fix loading of archived content with file names containing '#' characters
- CHEEVOS: Upgrade to rcheevos 10.1
- CHEEVOS: Challenge indicators
- CHEEVOS: Group achievements by category in quick menu
- CHEEVOS: Relabel 'Start Active' with 'Encore Mode'
- D3D10: Window title should now update
- D3D11: Window title should now update
- D3D11: Allow fastforward in fullscreen
- D3D12: Window title should now update
- D3D12: Allow fastforward in fullscreen
- CRT/SWITCHRES: New implementation
- FONTS: Improve message wrapping with CJK languages
- FONTS: Fix garbled characters when converting encodings
- INPUT: Allow the 8 analog stick directions to be used as keys for core keyboard mappings
- LIBRETRO: Add API extension for setting 'need_fullpath' based on content file extension and to request persistent frontend content data buffers
- MENU/SEARCH: Add enhanced search functionality to the 'Manage Cores' menu
- OPENDINGUX: Fix black screens when triggering gfx driver initialisation via menu actions
- UNIX: Get better battery stats on sysfs nodes
- VIDEO: Extend Frame Delay range to 19 to accommodate PAL land too
- WIFI/LAKKA: Add nmcli to wifi drivers
- WIFI/LAKKA: Add wifi configuration menu
- X11: fix fullscreen when swapping monitors/resolution
# 1.9.4
- CHEEVOS: update rcheevos to v10.0.0
- CONTENT LOADING/FILE IO: Prevent unnecessary extraction (to disk) of compressed content files when need_fullpath is false
- CORE INFO/FILE IO: Enable core info cache by default now for all platforms
- CORE INFO/REGRESSION FIX: Fix regression caused by core info file caching - Downloads was no longer showing up in Load Content
- FILE IO/COMPRESSED: Ability to load content inside ZIP files directly into RAM
- INPUT/OVERLAYS: Add option to select between 'touched' elements and physical controller inputs when showing inputs on overlays
- INPUT REMAPPING/OVERLAYS: Prevent duplicate inputs when using remaps with input overlays
- LAKKA: Add brightness restore hook
- LOCALIZATION: Fetch translations from Crowdin
- MENU/OZONE: Added simple playlist entry enumeration
- MENU/XMB: Fix display of 'Maximum Users' menu entry dropdown list
- PS3/PSL1GHT: Joypad driver works again
- PSTV: Fix Vita input driver for PSTV
- PSTV: Support for 720p on PSTV when using 'Unlock framebuffer' in Sharpscale plugin
- PSTV: Fix scaling on PSTV when not using 720p
- RPNG: Fix some memory corruption if processing broken input PNG file
- SECURITY: Fix CVE-2021-28927
# 1.9.3
- 3DS: Disable menu screensaver animations in XMB/GLUI
- COMMAND: Initialize netcmd->cmd_source_len before recvfrom()
- CONTENT LOADING/STATICALLY LINKED: Ensure 'Always Reload Core on Run Content' setting is applied when loading content via the file browser
- CONTENT LOADING/EMSCRIPTEN: Fix content loading via file browser on platforms with 'broken' core handling (i.e. emscripten)
- CORE INFO: Skip whitespace when writing compressed core info cache files
- CORE INFO/FILE IO: Core Info cache; significant file I/O performance improvements on systems with slow disk file I/O
- CORE INFO/FILE IO: Enable core info cache by default on all 'console' platforms
- FREEBSD: FreeBSD build fix
- LAKKA: Support for tweaking CPU governors/scaling policies
- LAKKA: This adds managed policies and settings to store them and reload them at startup
- LIBRETRO API: Add API extension for cores to override frontend fast-forward state
- MENU/RGUI: Fix saving of config files/overrides when 'Lock Menu Aspect Ratio' is enabled
- SHADERS: Fix 'Auto-Shader Delay' functionality
- UWP/D3D11: Disable mipmap generation
- UWP/XBOX: Add 'Force 4K resolution' option (Force the resolution to the fullscreen size on Xbox, if set to 0, a fixed value of 3840 x 2160 will be used)
# 1.9.2
- 3DS: Enable graphics widgets / overlays
- 3DS: Load texture images as BGR colors
+135
View File
@@ -0,0 +1,135 @@
# Contributor Covenant Code of Conduct
## Our Pledge
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, caste, color, religion, or sexual identity
and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to a positive environment for our
community include:
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
overall community
Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities
Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.
## Scope
This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at:
* Via E-Mail to <libretro@gmail.com>, please include in the subject line
`RETROARCH COC` so that your e-mail may reach the correct party.
All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series
of actions.
**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within
the community.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.1, available at
[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
Community Impact Guidelines were inspired by
[Mozilla's code of conduct enforcement ladder][Mozilla CoC].
For answers to common questions about this code of conduct, see the FAQ at
[https://www.contributor-covenant.org/faq][FAQ]. Translations are available
at [https://www.contributor-covenant.org/translations][translations].
[homepage]: https://www.contributor-covenant.org
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
[Mozilla CoC]: https://github.com/mozilla/diversity
[FAQ]: https://www.contributor-covenant.org/faq
[translations]: https://www.contributor-covenant.org/translations
+86 -43
View File
@@ -3,64 +3,107 @@ Struct ordering
For POD-types, try to order structs as follows (first to last):
* long double (8 bytes, 16 bytes [64bit x86], 12 bytes [32bit x86])
* double (8 bytes)
* int64_t (8 bytes, 8 bytes [32bit ARM], 4 bytes [32bit x86])
* uint64_t (4 bytes [32bit], 8 bytes [32bit ARM], 8 bytes [64bit])
* pointer (4 bytes [32bit], 8 bytes [64bit] [1])
* intptr_t (4 bytes [32bit], 8 bytes [64bit] [1])
* uintptr_t (4 bytes [32bit], 8 bytes [64bit] [1])
* ptrdiff_t (4 bytes [32bit], 8 bytes [64bit] [1])
* ssize_t (4 bytes [32bit], 8 bytes [64bit])
* size_t (4 bytes [32bit], 8 bytes [64bit])
* jmp_buf (4 bytes)
* long (4 bytes [64bit Win], 8 bytes [64bit non-Win], 4 bytes [32bit])
* int32_t (4 bytes)
* unsigned (4 bytes)
* float (4 bytes)
* int (4 bytes)
* enum (4 bytes)
* int16_t (2 bytes)
* char (1 byte)
* long double (8 bytes, 16 bytes [64bit x86], 12 bytes [32bit x86])
* double (8 bytes)
* int64_t (8 bytes, 8 bytes [32bit ARM],
4 bytes [32bit x86])
* uint64_t (4 bytes [32bit], 8 bytes [32bit ARM], 8 bytes [64bit])
* pointer (4 bytes [32bit], 8 bytes [64bit] [1])
* intptr_t (4 bytes [32bit], 8 bytes [64bit] [1])
* uintptr_t (4 bytes [32bit], 8 bytes [64bit] [1])
* ptrdiff_t (4 bytes [32bit], 8 bytes [64bit] [1])
* ssize_t (4 bytes [32bit], 8 bytes [64bit])
* size_t (4 bytes [32bit], 8 bytes [64bit])
* jmp_buf (4 bytes)
* long (4 bytes [64bit Win], 8 bytes [64bit non-Win],
4 bytes [32bit])
* int32_t (4 bytes)
* unsigned (4 bytes)
* float (4 bytes)
* int (4 bytes)
* enum (4 bytes)
* int16_t (2 bytes)
* char (1 byte)
* bool (1 byte)
[1] PS3 uses 4 byte pointers despite having a 64bit processor
[1] PS3 uses 4 byte pointers despite having a 64bit processor
Struct members should be sorted by alignment. Therefore, structs
should be sorted by the largest type inside them.
Struct members should be sorted by alignment. Therefore, structs
should be sorted by the largest type inside them.
For example, take a struct like this:
For example, take a struct like this:
typedef struct
{
size_t capacity;
bool old_format;
bool compress;
bool fuzzy_archive_match;
bool autofix_paths;
char path[PATH_MAX_LENGTH];
char base_content_directory[PATH_MAX_LENGTH];
} playlist_config_t;
typedef struct
{
size_t capacity;
bool old_format;
bool compress;
bool fuzzy_archive_match;
bool autofix_paths;
char path[PATH_MAX_LENGTH];
char base_content_directory[PATH_MAX_LENGTH];
} playlist_config_t;
size_t has the biggest alignment here, so 'struct playlist_config_t' inside a struct should come before or after size_t.
size_t has the biggest alignment here, so 'struct playlist_config_t'
inside a struct should come before or after size_t.
*** BEST PRACTICES ***
* If we have pointers and size variable pairs, it's best to interleave them to increase the probability they go in the same cacheline. It also makes the code more readable, that these two variables are connected.
* If we have pointers and size variable pairs, it's best to
interleave them to increase the probability they go in the
same cacheline. It also makes the code more readable, that
these two variables are connected.
Example:
struct a
{
char* b;
size_t b_len;
char* c;
size_t c_len;
};
struct a
{
char* b;
size_t b_len;
char* c;
size_t c_len;
};
Stack size
----------
You have to assume that stack size is going to be limited in RetroArch. Some game consoles (and other embedded systems) might have a default stack size as low as 128Kb or less. Be conservative with stack size but don't try to put very small structs on heap either [to avoid memory fragmentation among other things].
You have to assume that stack size is going to be limited in
RetroArch. Some game consoles (and other embedded systems)
might have a default stack size as low as 128Kb or less.
Be conservative with stack size but don't try to put very
small structs on heap either [to avoid memory fragmentation
among other things]. A balancing act here is necessary.
Be mindful that heap allocations are slow compared to stack.
Functions
---------
- Avoid doing small getter/setter functions. We want a function
to justify its function call overhead by doing a significant
body of work. Small one-line getter/setter functions for what
is predominantly C-style structs is not useful, plus it leads
to people thinking this function is more complex than it
actually is, thus obfuscating the sourcecode instead of it
being easier to read.
If you can find examples in the codebase that violate this
guideline, do not hesitate to point them out to us.
Variable declaration
--------------------
For C source files, we have to insist you stick to the following:
- Declare variables either at the start of a function or the start
of a code block, depending on the scope they need.
- Do not do initial for loop declarations. Refer to the bulletpoint above:
either declare them at the start of the function, or at the start
of the code block.
Not doing this would break compilation on platforms where we are compiling
these C source files in C89 compatibility mode. If such issues occur in pull
requests, we have to request that it be fixed.
VLA (Variable Length Array)
---------------------------
Do not use VLAs (Variable Length Array) in C source files. These are not
C89-compliant.
+79 -44
View File
@@ -1,58 +1,93 @@
# Contributing to RetroArch
If you are a developer and want to contribute to the development of RetroArch, please read this.
If you have found a bug and want to submit a minor patch or a bug report, please read this as well.
If you are a developer who wishes to contribute to the development of _RetroArch_; or if you have
found a bug and wish to submit a minor patch and/or bug report, please read this document.
# Submitting a bug report
When submitting a bug report, make sure that the bug is local to RetroArch.
A bug in a libretro core or something deemed to be external is likely to be closed very fast.
If you still suspect a bug in RetroArch, make sure to test with several cores to make sure.
Active discussions happen on our [Discord](https://discordapp.com/invite/27Xxm2h), mostly within
the _Programming_ channel category. We value discussions that happen in real time around
these contributions.
If you have troubles building RetroArch on Linux/BSD/OSX, make sure to paste shell output of ./configure,
as well as config.log and shell output of make. If building on Windows, just paste shell output of make.
Please do note that contributors to _RetroArch_ do such contributions within their spare time.
We do prefer to keep a professional and non-aggressive atmosphere around the project, along
with any disagreements to be settled professionally without insults, name calling, or otherwise.
If there are any issues, we are willing to have discussions about it.
If the issue occurs during runtime, make sure to paste RetroArch's verbose log.
If using Phoenix frontend, you can find log in (File -> Show Log) after running.
In console, make sure to run with verbose (-v) flag.
## Submitting Bug Reports
# Pull Requests
Outside contributions are generally only accepted in the form of a pull request. The process is very simple.
Fork RetroArch, make your changes, and issue a pull request on GitHub. This can all be done within the browser.
The changes are reviewed, and might be merged in. If the pull request isn't acceptable at the time,
note that it's possible to continue pushing up commits to your branch.
Bug reports in _RetroArch_ may fall into one of two categories:
If you want to develop a larger feature,
we'd like to discuss this first (ideally on IRC) so that you don't risk developing something
that won't be merged. A pull request with a proof-of-concept is fine, but please indicate so.
* _RetroArch_ itself, the user interface and API around all of the various cores.
* Individual _Core_, of which interact with _RetroArch_.
When submitting a bug report, ensure that the report is submitted to the correct repository.
For _RetroArch_ itself, it is done by reporting a bug within the
[RetroArch](https://github.com/libretro/RetroArch) repository. For other cores, please use
the search function within the [libretro Organization](https://github.com/libretro) on
GitHub. Issues that are specific to a core and not _RetroArch_ are likely to be closed very
quickly. If an issue is suspected with _RetroArch_, please make sure to test with multiple
cores to be sure that is is not isolated.
If the issue occurs during runtime, please paste the verbose log output:
* If using the _Pheonix_ interface, the log will be in _File_ -> _Show Log_.
* If using the main interface, enable verbose logging with _Settings_ -> _Logging_ ->
_Logging Verbosity_. Ensure both _Log to File_ and _Timestamp log Files_ is enabled.
* Otherwise, run _RetroArch_ with the verbose (`-v`) flag.
If the error happens during compilation and/or building, paste the output of `./configure`
and `make` accordingly. If using an IDE, please paste any of the errors and log output.
## Submitting Pull Requests
Any and all contributions should be submitted through Pull Requests on
[GitHub](https://github.com/libretro/RetroArch/pulls). The process requires that you fork the
repository, make the appropriate changes, and then open a pull request on _GitHub_. If your
pull request is for a proof-of-concept then please indicate as such.
Your pull request will then be reviewed. There may be comments and requests for additional
changes to be made. It may also be possible that the changes will not be accepted. Otherwise, it
may be merged in when it is fully approved. The final approval of merge requests is at the
discretion of the project.
If you want to develop a larger feature or make broad changes, please do join our
[Discord](https://discordapp.com/invite/27Xxm2h) server to discuss. The discussion is
necessary to prevent the possibility of major work being done which will not be accepted at all.
## libretro API
If you wish to add functionality to libretro's API, it can take some time to merge in, because changes
to libretro API will affect other projects as well, and we highly value API/ABI stability.
Features will only be added when deemed *necessary* for a concrete libretro core to function properly.
Features will not be added on basis of hypothetical libretro implementations.
# Coding style
Having a consistent code style throughout the code base is highly valued.
Please look through the code to get a feel for the coding style.
A pull request may be asked to fix the coding style before submission.
In other cases, a pull request may be followed up with a "style nit commit".
If you wish to contribute additional functionality to _libretro_'s API, there are considerations
that must be accepted. Please note that because this API affects multiple different projects, we
highly value and require API and ABI stability and backwards-compatibility. Due to this
requirement, there will be additional scrutiny in reviews for this added functionality.
## Non-obvious things:
- Code should be both C89 and ISO C++ compatible. This dual requirement is for XBox360 and MSVC in general. Think of it as a C++ compatible subset of C99.
- Warnings are not allowed (-Wall). Make sure your code is warning-free. Note that warning sensitivity differs a bit across compiler versions.
- Using deprecated APIs is discouraged.
Any and all features will be added only when **necessary** for an existing _libretro_ core to
properly function. Hypothetical implementations of _libretro_ are not considered.
# Copyright Headers and AUTHORS
If you have contributed to a part of a source file (a chunk of code that's written by you),
you should add yourself to the copyright header in that file.
If you have contributed significantly
(a feature, a contribution you can "name", e.g. "Added audio driver foo"), you should add yourself to AUTHORS file.
We'd like your full name and email, and which features you have been part of.
## Coding style
# IRC
Active development happens on IRC. (#retroarch @ irc.freenode.org)
We value discussing things in "real-time".
We highly value a consistent code style throughout the entire code base, please make sure you look
through the existing code to get a feel for the coding style. When submitting a pull request, it may
be asked to fix any coding style issues before submission. In other cases, there may be a follow-up
pull request making the code style consistent.
# Commit Access
Contributors who show a track record of making good pull requests over time will eventually get commit access to the repo.
This typically happens when the "overhead" of looking through pull requests over time becomes a burden.
For full guidelines please see the [Coding Standards](https://docs.libretro.com/development/coding-standards/).
Some non-obvious things to be aware of:
- Code should be both C89 and ISO C++ compatible. This is a requirement for XBox 360 and MSVC to
properly build. Think of it as a C++ compatible subset of C99.
- There must be no warnings in your code (enabled by `-Wall` for GCC compilers), do also note that
different compilers may produce different warnings.
- Avoid using deprecated APIs, these will be removed in the future at some point.
## Copyright Headers and AUTHORS
If you have contributed a chunk of source code that is written to you, you should add yourself to
the copyright header in the file. If you have made a significant contribution you should add
yourself to the `AUTHORS` file, adding your full name, e-mail, and the feature you worked on.
## Commit Access
Contributors who show a good track record of pull requests over time may eventually
get commit access to the repository. This may happen when looking through pull requests
over long amounts of time becomes a burden.
+1 -1
View File
@@ -110,7 +110,7 @@ endif
ifneq ($(CXX_BUILD), 1)
ifneq ($(C89_BUILD),)
CFLAGS += -std=c89 -ansi -pedantic -Werror=pedantic -Wno-long-long
CFLAGS += -std=c89 -ansi -pedantic -Werror=pedantic -Wno-long-long -Werror=declaration-after-statement
else ifeq ($(HAVE_C99), 1)
CFLAGS += $(C99_CFLAGS)
endif
+119 -67
View File
@@ -134,7 +134,6 @@ ifneq ($(findstring Darwin,$(OS)),)
MINVERFLAGS=
ifeq ($(shell uname -p),arm)
MINVERFLAGS = -mmacosx-version-min=10.15 -stdlib=libc++ # macOS (Metal, ARM 64bit)
MINVERFLAGS += -DDONT_WANT_ARM_OPTIMIZATIONS
else ifeq ($(HAVE_METAL),1)
MINVERFLAGS = -mmacosx-version-min=10.13 -stdlib=libc++ # macOS (Metal, x86 64bit)
else ifeq ($(shell uname -p),powerpc)
@@ -148,7 +147,6 @@ ifneq ($(findstring Darwin,$(OS)),)
# Build for a specific architecture when ARCH is defined as a switch
ifeq ($(ARCH),arm64)
MINVERFLAGS = -mmacosx-version-min=10.15 -stdlib=libc++ # macOS (Metal, ARM 64bit)
MINVERFLAGS += -DDONT_WANT_ARM_OPTIMIZATIONS
ARCHFLAGS = -arch arm64
else ifeq ($(ARCH),x86_64)
ifeq ($(HAVE_METAL),1)
@@ -190,6 +188,10 @@ endif
ifeq ($(HAVE_UNIX), 1)
OBJ += frontend/drivers/platform_unix.o
ifeq ($(UNIX_CWD_ENV), 1)
DEF_FLAGS += -DRARCH_UNIX_CWD_ENV
endif
endif
ifeq ($(TARGET), retroarch_3ds)
@@ -234,6 +236,8 @@ OBJ += frontend/frontend_driver.o \
retroarch.o \
command.o \
msg_hash.o \
midi_driver.o \
location_driver.o \
intl/msg_hash_us.o \
$(LIBRETRO_COMM_DIR)/queues/task_queue.o \
tasks/task_content.o
@@ -275,6 +279,11 @@ OBJ += \
$(LIBRETRO_COMM_DIR)/memmap/memalign.o \
$(LIBRETRO_COMM_DIR)/file/nbio/nbio_stdio.o
OBJ += \
$(LIBRETRO_COMM_DIR)/lists/linked_list.o \
$(LIBRETRO_COMM_DIR)/lists/nested_list.o \
$(LIBRETRO_COMM_DIR)/queues/generic_queue.o
ifneq ($(findstring Linux,$(OS)),)
OBJ += $(LIBRETRO_COMM_DIR)/file/nbio/nbio_linux.o
endif
@@ -297,14 +306,16 @@ OBJ += \
$(LIBRETRO_COMM_DIR)/file/file_path_io.o \
file_path_special.o \
$(LIBRETRO_COMM_DIR)/hash/lrc_hash.o \
audio/audio_driver.o \
input/input_driver.o \
input/common/input_hid_common.o \
led/led_driver.o \
gfx/video_coord_array.o \
gfx/video_crt_switch.o \
gfx/gfx_display.o \
gfx/video_driver.o \
gfx/gfx_display.o \
gfx/gfx_animation.o \
gfx/gfx_thumbnail_path.o \
gfx/gfx_thumbnail.o \
gfx/gfx_thumbnail_path.o \
gfx/gfx_thumbnail.o \
gfx/video_coord_array.o \
configuration.o \
$(LIBRETRO_COMM_DIR)/dynamic/dylib.o \
cores/dynamic_dummy.o \
@@ -330,9 +341,14 @@ ifeq ($(HAVE_CHEATS), 1)
OBJ += cheat_manager.o
endif
ifeq ($(HAVE_CORE_INFO_CACHE), 1)
DEFINES += -DHAVE_CORE_INFO_CACHE
endif
OBJ += \
core_info.o \
core_backup.o \
core_option_manager.o \
$(LIBRETRO_COMM_DIR)/file/config_file.o \
$(LIBRETRO_COMM_DIR)/file/config_file_userdata.o \
runtime_file.o \
@@ -547,7 +563,8 @@ ifeq ($(HAVE_LIBRETRODB), 1)
tasks/task_database_cue.o
ifeq ($(HAVE_MENU), 1)
OBJ += menu/menu_explore.o
OBJ += menu/menu_explore.o \
tasks/task_menu_explore.o
endif
endif
@@ -665,7 +682,7 @@ else ifeq ($(HAVE_BUILTINMBEDTLS), 1)
DEFINES += -DMBEDTLS_SSL_DEBUG_ALL
endif
# MinGW requires this for some reason,
# MinGW requires this for some reason,
# even though the include paths are relative to the source
INCLUDE_DIRS += -Ideps/mbedtls
@@ -764,6 +781,12 @@ endif
ifeq ($(HAVE_LAKKA), 1)
OBJ += wifi/drivers/connmanctl.o
OBJ += misc/cpufreq/cpufreq.o
endif
ifeq ($(HAVE_WIFI), 1)
OBJ += wifi/drivers/nmcli.o
DEFINES += -DHAVE_WIFI
endif
# Audio
@@ -820,7 +843,9 @@ ifeq ($(HAVE_ALSA), 1)
ifneq ($(HAVE_HAKCHI), 1)
ifneq ($(HAVE_SEGAM), 1)
OBJ += midi/drivers/alsa_midi.o
ifneq ($(DINGUX), 1)
OBJ += midi/drivers/alsa_midi.o
endif
endif
endif
@@ -956,10 +981,6 @@ ifeq ($(HW_CONTEXT_MENU_DRIVERS), 1)
HAVE_XMB = 1
endif
ifeq ($(HAVE_STRIPES),)
HAVE_STRIPES = 0
endif
ifeq ($(HAVE_OZONE),)
HAVE_OZONE = 1
endif
@@ -967,7 +988,6 @@ else
HAVE_RGUI ?= 0
HAVE_MATERIALUI ?= 0
HAVE_XMB ?= 0
HAVE_STRIPES ?= 0
HAVE_OZONE ?= 0
endif
@@ -999,22 +1019,12 @@ ifeq ($(HAVE_MENU), 1)
endif
ifeq ($(HAVE_OZONE), 1)
OBJ += menu/drivers/ozone/ozone.o \
menu/drivers/ozone/ozone_entries.o \
menu/drivers/ozone/ozone_display.o \
menu/drivers/ozone/ozone_texture.o \
menu/drivers/ozone/ozone_theme.o \
menu/drivers/ozone/ozone_sidebar.o
OBJ += menu/drivers/ozone.o
DEFINES += -DHAVE_OZONE
HAVE_ASSETS = 1
HAVE_MENU_SCREENSAVER = 1
endif
ifeq ($(HAVE_STRIPES), 1)
OBJ += menu/drivers/stripes.o
DEFINES += -DHAVE_STRIPES
endif
ifeq ($(HAVE_MENU_SCREENSAVER), 1)
OBJ += menu/menu_screensaver.o
endif
@@ -1032,13 +1042,19 @@ ifeq ($(HAVE_LAKKA_SWITCH), 1)
DEFINES += -DHAVE_LAKKA_SWITCH
endif
ifeq ($(HAVE_LAKKA_NIGHTLY), 1)
DEFINES += -DHAVE_LAKKA_NIGHTLY
endif
ifeq ($(HAVE_MENU_COMMON), 1)
OBJ += menu/menu_setting.o \
menu/menu_driver.o \
menu/cbs/menu_cbs_ok.o \
menu/cbs/menu_cbs_cancel.o \
menu/cbs/menu_cbs_select.o \
menu/cbs/menu_cbs_start.o \
menu/cbs/menu_cbs_info.o \
menu/cbs/menu_cbs_context.o \
menu/cbs/menu_cbs_left.o \
menu/cbs/menu_cbs_right.o \
menu/cbs/menu_cbs_deferred_push.o \
@@ -1177,12 +1193,6 @@ ifeq ($(TARGET), retroarch_wiiu)
INCLUDE_DIRS += -Iinput/include
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 \
input/common/hid/device_ds3.o \
input/common/hid/device_ds4.o \
input/common/hid/device_null.o
endif
endif
@@ -1219,7 +1229,6 @@ ifeq ($(HAVE_WAYLAND), 1)
input/common/wayland_common.o \
input/drivers/wayland_input.o \
gfx/common/wayland/xdg-shell.o \
gfx/common/wayland/xdg-shell-unstable-v6.o \
gfx/common/wayland/idle-inhibit-unstable-v1.o \
gfx/common/wayland/xdg-decoration-unstable-v1.o
@@ -1440,12 +1449,13 @@ ifeq ($(HAVE_VITAGLES), 1)
endif
ifeq ($(HAVE_GL_CONTEXT), 1)
OBJ += gfx/common/gl_common.o
ifeq ($(HAVE_GL_MODERN), 1)
DEFINES += -DHAVE_OPENGL
OBJ += gfx/drivers/gl.o \
OBJ += gfx/drivers/gl2.o \
$(LIBRETRO_COMM_DIR)/gfx/gl_capabilities.o \
gfx/drivers_font/gl_raster_font.o \
gfx/drivers_display/gfx_display_gl.o
gfx/drivers_font/gl2_raster_font.o \
gfx/drivers_display/gfx_display_gl2.o
endif
OBJ += $(LIBRETRO_COMM_DIR)/glsym/rglgen.o
@@ -1454,7 +1464,7 @@ ifeq ($(HAVE_GL_CONTEXT), 1)
DEFINES += -DHAVE_OPENGL1
OBJ += gfx/drivers/gl1.o \
gfx/drivers_font/gl1_raster_font.o \
gfx/drivers_display/gfx_display_gl1.o
gfx/drivers_display/gfx_display_gl1.o
endif
ifeq ($(HAVE_VIDEOCORE), 1)
@@ -1565,8 +1575,16 @@ else ifeq ($(HAVE_SDL), 1)
else ifeq ($(HAVE_SDL_DINGUX), 1)
HAVE_SDL_COMMON = 1
DEF_FLAGS += -DHAVE_SDL -DHAVE_SDL_DINGUX
OBJ += gfx/drivers/sdl_dingux_gfx.o \
input/drivers/sdl_dingux_input.o \
ifeq ($(RS90), 1)
OBJ += gfx/drivers/sdl_rs90_gfx.o
else ifeq ($(MIYOO), 1)
OBJ += gfx/drivers/sdl_rs90_gfx.o
else
OBJ += gfx/drivers/sdl_dingux_gfx.o
endif
OBJ += input/drivers/sdl_dingux_input.o \
input/drivers_joypad/sdl_dingux_joypad.o
DEF_FLAGS += $(SDL_DINGUX_CFLAGS)
LIBS += $(SDL_DINGUX_LIBS)
@@ -1616,10 +1634,10 @@ ifeq ($(HAVE_VULKAN), 1)
endif
ifeq ($(HAVE_OPENGL_CORE), 1)
OBJ += gfx/drivers/gl_core.o \
gfx/drivers_font/gl_core_raster_font.o \
gfx/drivers_shader/shader_gl_core.o \
gfx/drivers_display/gfx_display_gl_core.o
OBJ += gfx/drivers/gl3.o \
gfx/drivers_font/gl3_raster_font.o \
gfx/drivers_shader/shader_gl3.o \
gfx/drivers_display/gfx_display_gl3.o
DEFINES += -DHAVE_OPENGL_CORE
NEED_CXX_LINKER = 1
@@ -1985,7 +2003,8 @@ ifeq ($(HAVE_CDROM), 1)
DEFINES += -DHAVE_CDROM
OBJ += $(LIBRETRO_COMM_DIR)/cdrom/cdrom.o \
$(LIBRETRO_COMM_DIR)/vfs/vfs_implementation_cdrom.o \
$(LIBRETRO_COMM_DIR)/media/media_detect_cd.o
$(LIBRETRO_COMM_DIR)/media/media_detect_cd.o \
tasks/task_content_disc.o
endif
ifeq ($(HAVE_RTGA), 1)
@@ -2090,10 +2109,9 @@ ifeq ($(HAVE_NETWORKING), 1)
# Netplay
DEFINES += -DHAVE_NETWORK_CMD
OBJ += network/netplay/netplay_handshake.o \
network/netplay/netplay_io.o \
network/netplay/netplay_discovery.o \
network/netplay/netplay_room_parse.o
OBJ += \
network/netplay/netplay_frontend.o \
network/netplay/netplay_room_parse.o
# RetroAchievements
ifeq ($(HAVE_CHEEVOS), 1)
@@ -2101,9 +2119,8 @@ ifeq ($(HAVE_NETWORKING), 1)
INCLUDE_DIRS += -Ideps/rcheevos/include
OBJ += cheevos/cheevos.o \
cheevos/badges.o \
cheevos/cheevos_memory.o \
cheevos/cheevos_parser.o \
cheevos/cheevos_client.o \
cheevos/cheevos_menu.o \
$(LIBRETRO_COMM_DIR)/formats/cdfs/cdfs.o \
deps/rcheevos/src/rcheevos/alloc.o \
deps/rcheevos/src/rcheevos/compat.o \
@@ -2114,13 +2131,16 @@ ifeq ($(HAVE_NETWORKING), 1)
deps/rcheevos/src/rcheevos/lboard.o \
deps/rcheevos/src/rcheevos/memref.o \
deps/rcheevos/src/rcheevos/operand.o \
deps/rcheevos/src/rcheevos/rc_libretro.o \
deps/rcheevos/src/rcheevos/richpresence.o \
deps/rcheevos/src/rcheevos/runtime.o \
deps/rcheevos/src/rcheevos/runtime_progress.o \
deps/rcheevos/src/rcheevos/trigger.o \
deps/rcheevos/src/rcheevos/value.o \
deps/rcheevos/src/rhash/hash.o \
deps/rcheevos/src/rurl/url.o
deps/rcheevos/src/rapi/rc_api_common.o \
deps/rcheevos/src/rapi/rc_api_runtime.o \
deps/rcheevos/src/rapi/rc_api_user.o \
ifeq ($(HAVE_LUA), 1)
DEFINES += -DHAVE_LUA \
@@ -2178,6 +2198,8 @@ ifeq ($(HAVE_NETWORKING), 1)
deps/discord-rpc/src/rpc_connection.o \
deps/discord-rpc/src/serialization.o
OBJ += network/discord.o
ifneq ($(findstring Win32,$(OS)),)
OBJ += deps/discord-rpc/src/discord_register_win.o \
deps/discord-rpc/src/connection_win.o
@@ -2263,6 +2285,39 @@ ifeq ($(HAVE_FFMPEG), 1)
INCLUDE_DIRS += -Iffmpeg
endif
# CRT mode switching
ifeq ($(HAVE_CRTSWITCHRES), 1)
INCLUDE_DIRS += -I$(DEPS_DIR)/switchres
OBJ += gfx/video_crt_switch.o \
$(DEPS_DIR)/switchres/monitor.o \
$(DEPS_DIR)/switchres/modeline.o \
$(DEPS_DIR)/switchres/switchres.o \
$(DEPS_DIR)/switchres/display.o \
$(DEPS_DIR)/switchres/custom_video.o \
$(DEPS_DIR)/switchres/log.o \
$(DEPS_DIR)/switchres/switchres_wrapper.o \
$(DEPS_DIR)/switchres/edid.o
ifneq ($(findstring Win32,$(OS)),)
OBJ += $(DEPS_DIR)/switchres/display_windows.o \
$(DEPS_DIR)/switchres/custom_video_ati_family.o \
$(DEPS_DIR)/switchres/custom_video_ati.o \
$(DEPS_DIR)/switchres/custom_video_adl.o \
$(DEPS_DIR)/switchres/custom_video_pstrip.o \
$(DEPS_DIR)/switchres/resync_windows.o
endif
ifneq ($(findstring Linux,$(OS)),)
OBJ += $(DEPS_DIR)/switchres/display_linux.o
ifeq ($(HAVE_X11)$(HAVE_XRANDR), 11)
OBJ += $(DEPS_DIR)/switchres/custom_video_xrandr.o
DEFINES += -DSR_WITH_XRANDR
endif
endif
ifneq ($(findstring Win32,$(OS)),)
DEFINES += -DSR_WIN32_STATIC
endif
LIBS += -lstdc++
endif
ifeq ($(HAVE_COMPRESSION), 1)
DEFINES += -DHAVE_COMPRESSION
OBJ += tasks/task_decompress.o
@@ -2280,9 +2335,9 @@ ifeq ($(HAVE_COCOA_COMMON),1)
OBJ += input/drivers/cocoa_input.o \
ui/drivers/ui_cocoa.o \
ui/drivers/cocoa/cocoa_common.o
ifeq ($(HAVE_OPENGL), 1)
DEFINES += -DGL_SILENCE_DEPRECATION
DEFINES += -DGL_SILENCE_DEPRECATION
OBJ += gfx/drivers_context/cocoa_gl_ctx.o
endif
ifeq ($(HAVE_VULKAN), 1)
@@ -2321,15 +2376,16 @@ ifeq ($(HAVE_STATIC_VIDEO_FILTERS), 1)
gfx/video_filters/dot_matrix_3x.o \
gfx/video_filters/dot_matrix_4x.o \
gfx/video_filters/upscale_1_5x.o \
gfx/video_filters/upscale_256x_320x240.o
gfx/video_filters/upscale_256x_320x240.o \
gfx/video_filters/picoscale_256x_320x240.o
endif
ifeq ($(WANT_IOSUHAX), 1)
DEFINES += -DHAVE_IOSUHAX
INCLUDE_DIRS += -I$(DEPS_DIR)/libiosuhax
OBJ += $(DEPS_DIR)/libiosuhax/iosuhax.o \
$(DEPS_DIR)/libiosuhax/iosuhax_devoptab.o \
$(DEPS_DIR)/libiosuhax/iosuhax_disc_interface.o
INCLUDE_DIRS += -I$(DEPS_DIR)/libiosuhax/include
OBJ += $(DEPS_DIR)/libiosuhax/source/iosuhax.o \
$(DEPS_DIR)/libiosuhax/source/iosuhax_devoptab.o \
$(DEPS_DIR)/libiosuhax/source/iosuhax_disc_interface.o
endif
ifeq ($(WANT_LIBFAT), 1)
@@ -2366,13 +2422,6 @@ ifneq ($(findstring Win32,$(OS)),)
OBJ += led/drivers/led_win32_keyboard.o
endif
ifeq ($(HAVE_MATH_NEON), 1)
DEFINES += -DHAVE_MATH_NEON
INCLUDE_DIRS += -I$(DEPS_DIR)/math-neon/source
SOURCES := $(DEPS_DIR)/math-neon/source
OBJ += $(patsubst %.c,%.o,$(foreach dir,$(SOURCES), $(wildcard $(dir)/*.c)))
endif
ifeq ($(HAVE_VITAGLES), 1)
DEFINES += -DHAVE_VITAGLES
INCLUDE_DIRS += -I$(DEPS_DIR)/Pigs-In-A-Blanket/include
@@ -2380,6 +2429,10 @@ ifeq ($(HAVE_VITAGLES), 1)
OBJ += $(patsubst %.c,%.o,$(foreach dir,$(SOURCES), $(wildcard $(dir)/*.c)))
endif
ifeq ($(HAVE_WEBOS), 1)
DEFINES += -DWEBOS
endif
#####################################
### Android Play Feature Delivery ###
### (Play Store build core ###
@@ -2437,4 +2490,3 @@ ifeq ($(HAVE_ODROIDGO2), 1)
endif
##################################
+7
View File
@@ -2,6 +2,7 @@ TARGET := retroarch_3ds
LIBRETRO =
DEBUG = 0
CONSOLE_LOG = 0
GRIFFIN_BUILD = 1
WHOLE_ARCHIVE_LINK = 0
BUILD_3DSX = 1
@@ -60,6 +61,7 @@ ifeq ($(GRIFFIN_BUILD), 1)
DEFINES += -DHAVE_THREADS
DEFINES += -DHAVE_GFX_WIDGETS
DEFINES += -DHAVE_OVERLAY
DEFINES += -DHAVE_CORE_INFO_CACHE
#DEFINES += -DHAVE_SOCKET_LEGACY
#-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
@@ -91,6 +93,7 @@ else
HAVE_THREADS = 1
#HAVE_SSL = 1
#HAVE_BUILTINMBEDTLS = 1
HAVE_CORE_INFO_CACHE = 1
include Makefile.common
CFLAGS += $(DEF_FLAGS)
@@ -154,6 +157,10 @@ else
CFLAGS += -O3
endif
ifeq ($(CONSOLE_LOG), 1)
CFLAGS += -DCONSOLE_LOG
endif
ifeq ($(LIBCTRU_NO_DEPRECATION), 1)
CFLAGS += -DLIBCTRU_NO_DEPRECATION
endif
+5
View File
@@ -2,6 +2,7 @@ TARGET := retroarch_3ds_salamander
LIBRETRO =
DEBUG = 0
CONSOLE_LOG = 0
BUILD_3DSX = 1
BUILD_3DS = 0
BUILD_CIA = 1
@@ -95,6 +96,10 @@ else
CFLAGS += -O3
endif
ifeq ($(CONSOLE_LOG), 1)
CFLAGS += -DCONSOLE_LOG
endif
CFLAGS += -I. -Ideps/7zip -Ideps/stb -Ilibretro-common/include -Ilibretro-common/include/compat/zlib
#CFLAGS += -DRARCH_INTERNAL
+1
View File
@@ -99,6 +99,7 @@ HAVE_CONFIGFILE = 1
HAVE_PATCH = 1
HAVE_CHEATS = 1
HAVE_LIBSHAKE = 1
HAVE_CORE_INFO_CACHE = 1
OS = Linux
TARGET = retroarch
+1
View File
@@ -42,6 +42,7 @@ HAVE_STB_FONT = 1
HAVE_CONFIGFILE = 1
HAVE_CHEATS = 1
HAVE_IBXM = 1
HAVE_CORE_INFO_CACHE = 1
ASYNC ?= 0
ifeq ($(LIBRETRO), mupen64plus)
+19 -1
View File
@@ -219,6 +219,7 @@ else ifeq ($(libogc_platform), 1)
HAVE_AUDIOMIXER := 1
HAVE_RWAV := 1
RARCH_CONSOLE = 1
HAVE_CORE_INFO_CACHE := 1
ifeq ($(platform), wii)
#HAVE_LANGEXTRA := 1
@@ -286,6 +287,7 @@ else ifeq ($(platform), psp1)
HAVE_CONFIGFILE := 1
HAVE_PATCH := 1
HAVE_CHEATS := 1
HAVE_CORE_INFO_CACHE := 1
ifeq ($(BUILD_PRX), 1)
LDFLAGS += $(addprefix -L,$(PSPSDK)/lib) -specs=$(PSPSDK)/lib/prxspecs -Wl,-q,-T$(PSPSDK)/lib/linkfile.prx $(LDFLAGS)
@@ -348,6 +350,7 @@ else ifeq ($(platform), vita)
HAVE_CONFIGFILE := 1
HAVE_PATCH := 1
HAVE_CHEATS := 1
HAVE_CORE_INFO_CACHE := 1
else ifeq ($(platform), windows_msvc6_x86)
HAVE_RPNG := 1
HAVE_RJPEG := 1
@@ -374,6 +377,7 @@ else ifeq ($(platform), windows_msvc6_x86)
HAVE_CONFIGFILE := 1
HAVE_PATCH := 1
HAVE_CHEATS := 1
HAVE_CORE_INFO_CACHE := 1
EXT_TARGET := $(TARGET_NAME).exe
EXT_INTER_TARGET := $(TARGET_NAME).exe
@@ -421,6 +425,7 @@ else ifeq ($(platform), windows_msvc2003_x86)
HAVE_PATCH := 1
HAVE_CHEATS := 1
HAVE_GFX_WIDGETS := 1
HAVE_CORE_INFO_CACHE := 1
EXT_TARGET := $(TARGET_NAME).exe
EXT_INTER_TARGET := $(TARGET_NAME).exe
@@ -483,6 +488,7 @@ else ifeq ($(platform), windows_msvc2005_x86)
HAVE_VIDEO_FILTER := 1
HAVE_FILTERS_BUILTIN := 1
HAVE_GFX_WIDGETS := 1
HAVE_CORE_INFO_CACHE := 1
EXT_TARGET := $(TARGET_NAME).exe
EXT_INTER_TARGET := $(TARGET_NAME).exe
@@ -490,7 +496,7 @@ 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 -D__SSE__
PLATCFLAGS += -D_WIN32 -D_WIN32_WINNT=0x0410 -D__STDC_CONSTANT_MACROS -D_MBCS
PLATCFLAGS += -DHAVE_OPENGL -DHAVE_OPENGL1 -DHAVE_GLSL -DHAVE_OZONE -DHAVE_GFX_WIDGETS -DHAVE_CC_RESAMPLER
PLATCFLAGS += -DHAVE_ONLINE_UPDATER -DHAVE_UPDATE_ASSETS -DHAVE_UPDATE_CORES -DHAVE_CDROM
PLATCFLAGS += -bigobj
@@ -525,6 +531,7 @@ else ifeq ($(platform), windows_msvc2005_x86)
endif
else ifneq (,$(findstring windows_msvc2010,$(platform)))
HAVE_GDI := 1
HAVE_CHEEVOS := 1
HAVE_SCREENSHOTS := 1
HAVE_REWIND := 1
HAVE_AUDIOMIXER := 1
@@ -563,6 +570,7 @@ else ifneq (,$(findstring windows_msvc2010,$(platform)))
HAVE_VIDEO_FILTER := 1
HAVE_FILTERS_BUILTIN := 1
HAVE_GFX_WIDGETS := 1
HAVE_CORE_INFO_CACHE := 1
EXT_TARGET := $(TARGET_NAME).exe
EXT_INTER_TARGET := $(TARGET_NAME).exe
@@ -649,6 +657,7 @@ else ifneq (,$(findstring windows_msvc2012,$(platform)))
HAVE_CONFIGFILE := 1
HAVE_PATCH := 1
HAVE_CHEATS := 1
HAVE_CORE_INFO_CACHE := 1
EXT_TARGET := $(TARGET_NAME).exe
EXT_INTER_TARGET := $(TARGET_NAME).exe
@@ -733,6 +742,7 @@ else ifneq (,$(findstring windows_msvc2013,$(platform)))
HAVE_CONFIGFILE := 1
HAVE_PATCH := 1
HAVE_CHEATS := 1
HAVE_CORE_INFO_CACHE := 1
EXT_TARGET := $(TARGET_NAME).exe
EXT_INTER_TARGET := $(TARGET_NAME).exe
@@ -817,6 +827,7 @@ else ifneq (,$(findstring windows_msvc2015,$(platform)))
HAVE_CONFIGFILE := 1
HAVE_PATCH := 1
HAVE_CHEATS := 1
HAVE_CORE_INFO_CACHE := 1
EXT_TARGET := $(TARGET_NAME).exe
EXT_INTER_TARGET := $(TARGET_NAME).exe
@@ -915,6 +926,7 @@ else ifeq (qnx,$(platform))
HAVE_CONFIGFILE := 1
HAVE_PATCH := 1
HAVE_CHEATS := 1
HAVE_CORE_INFO_CACHE := 1
CC=qcc -Vgcc_ntoarmv7le
CXX=QCC -Vgcc_ntoarmv7le
@@ -959,6 +971,7 @@ else ifneq (,$(findstring unix,$(platform)))
HAVE_CONFIGFILE := 1
HAVE_PATCH := 1
HAVE_CHEATS := 1
HAVE_CORE_INFO_CACHE := 1
PLATCFLAGS += -D__MMX__ -D__SSE__ -DHAVE_OPENGL -DHAVE_OPENGL1 -DHAVE_GLSL -DHAVE_SHADERPIPELINE -DHAVE_OZONE -DHAVE_CC_RESAMPLER -DHAVE_CHEEVOS -DRC_DISABLE_LUA -DHAVE_FBO -DHAVE_GL_SYNC -DHAVE_SLANG -DHAVE_GLSLANG -DHAVE_BUILTINGLSLANG -DHAVE_IMAGEVIEWER -DHAVE_LANGEXTRA -DHAVE_RUNAHEAD -DHAVE_GFX_WIDGETS -DHAVE_CONFIGFILE -DHAVE_PATCH -DHAVE_SPIRV_CROSS -DHAVE_STB_FONT -DHAVE_ONLINE_UPDATER -DHAVE_UPDATE_ASSETS -DHAVE_UPDATE_CORES -DHAVE_VULKAN -DHAVE_XMB -DRARCH_INTERNAL -DWANT_GLSLANG -DHAVE_X11 -DHAVE_XCB -DHAVE_UDEV -DHAVE_BSV_MOVIE -DHAVE_PULSE
EXT_TARGET := $(TARGET_NAME)
@@ -992,6 +1005,7 @@ else ifeq (dos,$(platform))
HAVE_CONFIGFILE := 1
HAVE_PATCH := 0
HAVE_CHEATS := 0
HAVE_CORE_INFO_CACHE := 1
CC=i586-pc-msdosdjgpp-gcc
CXX=i586-pc-msdosdjgpp-g++
@@ -1141,6 +1155,10 @@ ifeq ($(RARCH_CONSOLE), 1)
CFLAGS += -DRARCH_CONSOLE
endif
ifeq ($(HAVE_CORE_INFO_CACHE), 1)
CFLAGS += -DHAVE_CORE_INFO_CACHE
endif
ifeq ($(RARCH_MOBILE), 1)
CFLAGS += -DRARCH_MOBILE
endif
+7 -1
View File
@@ -32,6 +32,7 @@ HAVE_RTGA = 1
HAVE_RPNG = 1
HAVE_RJPEG = 1
HAVE_RBMP = 1
HAVE_7ZIP = 1
HAVE_ZLIB = 1
HAVE_BUILTINZLIB = 1
HAVE_LIBRETRODB = 1
@@ -39,6 +40,7 @@ HAVE_DSP_FILTER = 1
HAVE_VIDEO_FILTER = 1
HAVE_STATIC_VIDEO_FILTERS = 1
HAVE_STATIC_AUDIO_FILTERS = 1
HAVE_FILTERS_BUILTIN = 1
HAVE_MENU = 1
HAVE_CONFIGFILE = 1
HAVE_PATCH = 1
@@ -51,6 +53,7 @@ HAVE_CHEEVOS = 1
HAVE_CHD = 0 # disabled due to static libretro-common and libchdr conflicts between different cores
HAVE_STB_VORBIS = 1
HAVE_IBXM = 1
HAVE_CORE_INFO_CACHE = 1
# RetroArch libnx useful flags
HAVE_THREADS = 1
@@ -77,7 +80,6 @@ else
HAVE_MATERIALUI = 0
HAVE_XMB = 0
HAVE_OZONE = 0
HAVE_STRIPES = 0
endif
include Makefile.common
@@ -128,6 +130,10 @@ CFLAGS := -g -Wall -O3 -fcommon -ffast-math -ffunction-sections \
CFLAGS += $(INCLUDE) -DSWITCH=1 -DHAVE_LIBNX=1 -DNXLINK=1 -DHAVE_SHADERPIPELINE -DHAVE_ONLINE_UPDATER -DHAVE_UPDATE_ASSETS -DHAVE_UPDATE_CORES -DHAVE_STB_FONT #-DHAVE_FREETYPE
ifeq ($(HAVE_FILTERS_BUILTIN), 1)
CFLAGS += -DHAVE_FILTERS_BUILTIN
endif
ifeq ($(strip $(HAVE_STATIC_DUMMY)),1)
CFLAGS += -DHAVE_STATIC_DUMMY=1
endif
+209
View File
@@ -0,0 +1,209 @@
#########################
## Toolchain variables ##
#########################
# Default toolchain directory
TOOLCHAIN_DIR=/opt/miyoo
# All toolchain-related variables may be
# overridden via the command line
ifdef GCW0_CC
CC = $(GCW0_CC)
else
CC = $(TOOLCHAIN_DIR)/usr/bin/arm-linux-gcc
endif
ifdef GCW0_CXX
CXX = $(GCW0_CXX)
else
CXX = $(TOOLCHAIN_DIR)/usr/bin/arm-linux-g++
endif
ifdef GCW0_STRIP
STRIP = $(GCW0_STRIP)
else
STRIP = $(TOOLCHAIN_DIR)/usr/bin/arm-linux-strip
endif
GCW0_SDL_CONFIG ?= $(TOOLCHAIN_DIR)/usr/arm-miyoo-linux-uclibcgnueabi/sysroot/usr/bin/sdl-config
GCW0_FREETYPE_CONFIG ?= $(TOOLCHAIN_DIR)/usr/arm-miyoo-linux-uclibcgnueabi/sysroot/usr/bin/freetype-config
GCW0_INC_DIR ?= $(TOOLCHAIN_DIR)/usr/arm-miyoo-linux-uclibcgnueabi/sysroot/usr/include
GCW0_LIB_DIR ?= $(TOOLCHAIN_DIR)/usr/arm-miyoo-linux-uclibcgnueabi/sysroot/usr/lib
#########################
#########################
PACKAGE_NAME = retroarch
DEBUG ?= 0
MIYOO = 1
DINGUX = 1
HAVE_SCREENSHOTS = 0
HAVE_REWIND = 0
HAVE_7ZIP = 1
HAVE_AL = 0
# ALSA freezes when switching back from menu
HAVE_ALSA = 0
HAVE_DSP_FILTER = 1
HAVE_VIDEO_FILTER = 1
HAVE_STATIC_VIDEO_FILTERS = 1
HAVE_STATIC_AUDIO_FILTERS = 1
HAVE_FILTERS_BUILTIN = 1
HAVE_BUILTINMBEDTLS = 0
HAVE_BUILTINZLIB = 1
HAVE_C99 = 1
HAVE_CC = 1
HAVE_CC_RESAMPLER = 1
HAVE_CHD = 1
HAVE_COMMAND = 0
HAVE_CXX = 1
HAVE_DR_MP3 = 1
HAVE_DYNAMIC = 1
HAVE_EGL = 0
HAVE_FREETYPE = 0
HAVE_GDI = 1
HAVE_GETADDRINFO = 0
HAVE_GETOPT_LONG = 1
HAVE_GLSL = 0
HAVE_HID = 1
HAVE_IBXM = 1
HAVE_IMAGEVIEWER = 0
HAVE_LANGEXTRA = 0
HAVE_LIBRETRODB = 1
HAVE_MENU = 1
HAVE_MENU_COMMON = 1
HAVE_GFX_WIDGETS = 0
HAVE_MMAP = 1
HAVE_OPENDINGUX_FBDEV = 0
HAVE_OPENGL = 0
HAVE_OPENGL1 = 0
HAVE_OPENGLES = 0
HAVE_OPENGLES3 = 0
HAVE_OPENGL_CORE = 0
HAVE_OPENSSL = 0
HAVE_OVERLAY = 0
HAVE_RBMP = 1
HAVE_RJPEG = 1
HAVE_RPILED = 0
HAVE_RPNG = 1
HAVE_RUNAHEAD = 0
HAVE_SDL_DINGUX = 1
HAVE_SHADERPIPELINE = 0
HAVE_STB_FONT = 0
HAVE_STB_IMAGE = 0
HAVE_STB_VORBIS = 0
HAVE_STDIN_CMD = 0
HAVE_STRCASESTR = 1
HAVE_THREADS = 1
HAVE_UDEV = 0
HAVE_RGUI = 1
HAVE_MATERIALUI = 0
HAVE_XMB = 0
HAVE_OZONE = 0
HAVE_ZLIB = 1
HAVE_CONFIGFILE = 1
HAVE_PATCH = 1
HAVE_CHEATS = 1
HAVE_CHEEVOS = 0
HAVE_LIBSHAKE = 0
HAVE_CORE_INFO_CACHE = 1
#HAVE_TINYALSA = 1
#HAVE_NEAREST_RESAMPLER = 1
OS = Linux
TARGET = retroarch
OBJ :=
LINK := $(CXX)
DEF_FLAGS := -march=armv5te -mtune=arm926ej-s -ffast-math -fomit-frame-pointer
DEF_FLAGS += -ffunction-sections -fdata-sections
DEF_FLAGS += -I. -Ideps -Ideps/stb -DMIYOO=1 -DDINGUX -MMD
DEF_FLAGS += -Wall -Wno-unused-variable -flto
DEF_FLAGS += -std=gnu99 -D_GNU_SOURCE
LIBS := -ldl -lz -lrt -pthread
CFLAGS :=
CXXFLAGS := -fno-exceptions -fno-rtti -std=c++11 -D__STDC_CONSTANT_MACROS
ASFLAGS :=
LDFLAGS := -Wl,--gc-sections
INCLUDE_DIRS = -I$(GCW0_INC_DIR)
LIBRARY_DIRS = -L$(GCW0_LIB_DIR)
DEFINES := -DRARCH_INTERNAL -D_FILE_OFFSET_BITS=64 -UHAVE_STATIC_DUMMY
DEFINES += -DHAVE_C99=1 -DHAVE_CXX=1
DEFINES += -DHAVE_GETOPT_LONG=1 -DHAVE_STRCASESTR=1 -DHAVE_DYNAMIC=1
DEFINES += -DHAVE_FILTERS_BUILTIN
SDL_DINGUX_CFLAGS := $(shell $(GCW0_SDL_CONFIG) --cflags)
SDL_DINGUX_LIBS := $(shell $(GCW0_SDL_CONFIG) --libs)
FREETYPE_CFLAGS := $(shell $(GCW0_FREETYPE_CONFIG) --cflags)
FREETYPE_LIBS := $(shell $(GCW0_FREETYPE_CONFIG) --libs)
MMAP_LIBS = -lc
OBJDIR_BASE := obj-unix
ifeq ($(DEBUG), 1)
OBJDIR := $(OBJDIR_BASE)/debug
DEF_FLAGS += -O0 -g -DDEBUG -D_DEBUG
else
OBJDIR := $(OBJDIR_BASE)/release
DEF_FLAGS += -O2 -DNDEBUG
endif
include Makefile.common
DEF_FLAGS += $(INCLUDE_DIRS)
LDFLAGS += $(CFLAGS) $(CXXFLAGS) $(DEF_FLAGS)
CFLAGS += $(DEF_FLAGS)
CXXFLAGS += $(DEF_FLAGS)
HEADERS = $(wildcard */*/*.h) $(wildcard */*.h) $(wildcard *.h)
Q := @
RARCH_OBJ := $(addprefix $(OBJDIR)/,$(OBJ))
all: $(TARGET)
-include $(RARCH_OBJ:.o=.d)
SYMBOL_MAP := -Wl,-Map=output.map
$(TARGET): $(RARCH_OBJ)
@$(if $(Q), $(shell echo echo LD $@),)
$(Q)$(LINK) -o $@ $(RARCH_OBJ) $(LIBS) $(LDFLAGS) $(LIBRARY_DIRS)
ifeq ($(STRIP_BIN),1)
$(STRIP) --strip-unneeded $(TARGET)
endif
$(OBJDIR)/%.o: %.c
@mkdir -p $(dir $@)
@$(if $(Q), $(shell echo echo CC $<),)
$(Q)$(CC) $(CPPFLAGS) $(CFLAGS) $(DEFINES) -c -o $@ $<
$(OBJDIR)/%.o: %.cpp
@mkdir -p $(dir $@)
@$(if $(Q), $(shell echo echo CXX $<),)
$(Q)$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(DEFINES) -MMD -c -o $@ $<
$(OBJDIR)/%.o: %.m
@mkdir -p $(dir $@)
@$(if $(Q), $(shell echo echo OBJC $<),)
$(Q)$(CXX) $(OBJCFLAGS) $(DEFINES) -MMD -c -o $@ $<
$(OBJDIR)/%.o: %.S $(HEADERS)
@mkdir -p $(dir $@)
@$(if $(Q), $(shell echo echo AS $<),)
$(Q)$(CC) $(CFLAGS) $(ASFLAGS) $(DEFINES) -c -o $@ $<
clean:
rm -rf $(OBJDIR_BASE)
rm -f $(TARGET)
rm -f *.d
.PHONY: all clean
print-%:
@echo '$*=$($*)'
+1
View File
@@ -67,6 +67,7 @@ HAVE_SHADERPIPELINE := 1
HAVE_IMAGEVIEWER := 1
HAVE_BSV_MOVIE := 1
HAVE_CHEATS := 1
HAVE_CORE_INFO_CACHE := 1
ifeq ($(HAVE_D3D8), 1)
D3D8_LIBS := -ld3d8
+5
View File
@@ -126,6 +126,7 @@ HAVE_AUDIOMIXER := 1
HAVE_RWAV := 1
RARCH_CONSOLE = 1
HAVE_CHEATS := 1
HAVE_CORE_INFO_CACHE := 1
CFLAGS += -Wall -std=gnu99 $(MACHDEP) $(PLATCFLAGS) $(INCLUDE)
INCLUDE += -I./libretro-common/include \
@@ -322,6 +323,10 @@ ifeq ($(HAVE_DYNAMIC), 1)
CFLAGS += -DHAVE_DYNAMIC
endif
ifeq ($(HAVE_CORE_INFO_CACHE), 1)
CFLAGS += -DHAVE_CORE_INFO_CACHE
endif
ifeq ($(DEBUG), 1)
CFLAGS += -O0 -g -DDEBUG
else
+35 -14
View File
@@ -1,25 +1,46 @@
include version.all
DEBUG = 0
DEBUG = 0
CC = $(PNDSDK)/bin/arm-none-linux-gnueabi-gcc
LD = $(PNDSDK)/bin/arm-none-linux-gnueabi-gcc -o
CC = $(PNDSDK)/bin/arm-none-linux-gnueabi-gcc
LD = $(PNDSDK)/bin/arm-none-linux-gnueabi-gcc -o
TARGET := retroarch-pandora
TARGET := retroarch-pandora
LDDIRS = -L. -L$(PNDSDK)/usr/lib
INCDIRS = -I. -I$(PNDSDK)/usr/include
LDDIRS = -L. -L$(PNDSDK)/usr/lib
INCDIRS = -I. -I$(PNDSDK)/usr/include
OBJ = griffin/griffin.o audio/resamplers/sinc_resampler_neon.o libretro-common/conversion/s16_to_float_neon.o libretro-common/conversion/float_to_s16_neon.o
LDFLAGS = -L$(PNDSDK)/usr/lib -Wl,-rpath,$(PNDSDK)/usr/lib
OBJ = griffin/griffin.o audio/resamplers/sinc_resampler_neon.o libretro-common/conversion/s16_to_float_neon.o libretro-common/conversion/float_to_s16_neon.o
LDFLAGS = -L$(PNDSDK)/usr/lib -Wl,-rpath,$(PNDSDK)/usr/lib
LIBS = -lGLESv2 -lEGL -ldl -lm -lpthread -lrt -lasound
DEFINES = -std=gnu99 -DHAVE_THREADS -DHAVE_GETOPT_LONG=1 -DHAVE_GRIFFIN -DRARCH_INTERNAL
DEFINES += -DHAVE_CONFIGFILE -DHAVE_PATCH -DHAVE_SCREENSHOTS -DHAVE_REWIND -D__ARM_ARCH_6__ -DHAVE_OPENGL -DHAVE_OPENGLES -DHAVE_OPENGLES2 -DHAVE_GLSL -DHAVE_DYNAMIC -DHAVE_RPNG -DHAVE_RJPEG -DHAVE_OVERLAY -DHAVE_VIDEO_LAYOUT -DHAVE_ALSA -DHAVE_ZLIB -D__linux__
DEFINES += -DHAVE_DSP_FILTER
DEFINES += -DHAVE_VIDEO_FILTER
LIBS = -lGLESv2 -lEGL -ldl -lm -lpthread -lrt -lasound
DEFINES = -std=gnu99
DEFINES += -DHAVE_THREADS \
-DHAVE_GETOPT_LONG=1 \
-DHAVE_GRIFFIN \
-DRARCH_INTERNAL \
-DHAVE_CONFIGFILE \
-DHAVE_PATCH \
-DHAVE_SCREENSHOTS \
-DHAVE_REWIND \
-D__ARM_ARCH_6__ \
-DHAVE_OPENGL \
-DHAVE_OPENGLES \
-DHAVE_OPENGLES2 \
-DHAVE_GLSL \
-DHAVE_DYNAMIC \
-DHAVE_RPNG \
-DHAVE_RJPEG \
-DHAVE_OVERLAY \
-DHAVE_VIDEO_LAYOUT \
-DHAVE_ALSA \
-DHAVE_ZLIB \
-D__linux__ \
-DHAVE_DSP_FILTER \
-DHAVE_VIDEO_FILTER \
-D__OPENPANDORA__ \
-DPANDORA
DEFINES += $(INCDIRS)
DEFINES += -D__OPENPANDORA__ -DPANDORA
DEFINES += -marm -march=armv7-a -mcpu=cortex-a8 -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -ftree-vectorize
ifeq ($(DEBUG), 1)
+2
View File
@@ -19,6 +19,7 @@ ifeq ($(GRIFFIN_BUILD), 1)
DEFINES += -DHAVE_MENU -DHAVE_LIBRETRODB -DHAVE_CONFIGFILE -DHAVE_PATCH -DHAVE_SCREENSHOTS -DHAVE_CHEATS
DEFINES += -DHAVE_REWIND
DEFINES += -DHAVE_ZLIB -DHAVE_RPNG -DHAVE_RJPEG -DHAVE_RBMP -DHAVE_RTGA -DHAVE_CC_RESAMPLER
DEFINES += -DHAVE_CORE_INFO_CACHE
ifeq ($(DEBUG), 1)
DEFINES += -DHAVE_NETLOGGER
endif
@@ -59,6 +60,7 @@ else
RARCH_CONSOLE := 1
HAVE_STATIC_VIDEO_FILTERS = 1
HAVE_STATIC_AUDIO_FILTERS = 1
HAVE_CORE_INFO_CACHE := 1
ifeq ($(DEBUG), 1)
HAVE_NETLOGGER = 1
+33 -7
View File
@@ -1,5 +1,6 @@
BUILD_FOR_PCSX2 = 0
DEBUG = 0
SCREEN_DEBUG = 0
HAVE_THREADS = 0
MUTE_WARNINGS = 1
PS2_IP = 192.168.1.10
@@ -24,18 +25,42 @@ endif
INCDIR = -I$(PS2DEV)/gsKit/include -I$(PS2SDK)/ports/include
INCDIR += -Ips2/include -Ilibretro-common/include -Ideps -Ideps/stb -Ideps/7zip
INCDIR += -Ideps/pthreads -Ideps/pthreads/platform/ps2 -Ideps/pthreads/platform/helper
CFLAGS = $(OPTIMIZE_LV) $(DISABLE_WARNINGS) -ffast-math -fsingle-precision-constant
ASFLAGS = $(CFLAGS)
RARCH_DEFINES += -DPS2 -DHAVE_GRIFFIN=1 -DRARCH_INTERNAL -DHAVE_SCREENSHOTS -DHAVE_REWIND -DRARCH_CONSOLE -DHAVE_MENU -DHAVE_CONFIGFILE -DHAVE_PATCH -DHAVE_CHEATS -DHAVE_RGUI
RARCH_DEFINES += -DHAVE_ZLIB -DHAVE_NO_BUILTINZLIB -DHAVE_RPNG -DHAVE_RJPEG -DHAVE_FILTERS_BUILTIN -DHAVE_7ZIP -D_7ZIP_ST -DHAVE_CC_RESAMPLER -DHAVE_AUDIOMIXER
RARCH_DEFINES += -DHAVE_DSP_FILTER
RARCH_DEFINES += -DHAVE_VIDEO_FILTER
RARCH_DEFINES += -DPS2 \
-DHAVE_GRIFFIN=1 \
-DRARCH_INTERNAL \
-DHAVE_SCREENSHOTS \
-DHAVE_REWIND \
-DRARCH_CONSOLE \
-DHAVE_MENU \
-DHAVE_CONFIGFILE \
-DHAVE_PATCH \
-DHAVE_CHEATS \
-DHAVE_ZLIB \
-DHAVE_NO_BUILTINZLIB \
-DHAVE_RPNG \
-DHAVE_RJPEG \
-DHAVE_FILTERS_BUILTIN \
-DHAVE_7ZIP \
-D_7ZIP_ST \
-DHAVE_CC_RESAMPLER \
-DHAVE_AUDIOMIXER \
-DHAVE_WINDOW_OFFSET \
-DHAVE_VIDEO_FILTER \
-DHAVE_RGUI \
-DHAVE_DSP_FILTER \
-DHAVE_CORE_INFO_CACHE
LDFLAGS += -L$(PS2DEV)/gsKit/lib -L$(PS2SDK)/ports/lib -L.
# Lib cdvd is needed to get proper time
LIBS += -lretro_ps2 -lpatches -lgskit -ldmakit -laudsrv -lmtap -lpadx -lz -lcdvd -lelf-loader
LIBS += -lretro_ps2 -lpatches -lgskit -ldmakit -laudsrv -lmtap -lpadx -lz -lcdvd -lelf-loader -lfileXio -lpoweroff
ifeq ($(SCREEN_DEBUG), 1)
LIBS += -ldebug
RARCH_DEFINES += -DSCREEN_DEBUG
endif
ifeq ($(BUILD_FOR_PCSX2), 1)
RARCH_DEFINES += -DBUILD_FOR_PCSX2
@@ -50,9 +75,10 @@ CFLAGS += $(RARCH_DEFINES)
# All the IRX objects
EE_OBJS += $(IRX_DIR)/sio2man_irx.o $ $(IRX_DIR)/iomanX_irx.o $(IRX_DIR)/fileXio_irx.o
EE_OBJS += $(IRX_DIR)/mcman_irx.o $(IRX_DIR)/mcserv_irx.o
EE_OBJS += $(IRX_DIR)/usbd_irx.o $(IRX_DIR)/usbhdfsd_irx.o
EE_OBJS += $(IRX_DIR)/usbd_irx.o $(IRX_DIR)/bdm_irx.o $(IRX_DIR)/bdmfs_vfat_irx.o $(IRX_DIR)/usbmass_bd_irx.o
EE_OBJS += $(IRX_DIR)/libsd_irx.o $(IRX_DIR)/audsrv_irx.o
EE_OBJS += $(IRX_DIR)/cdfs_irx.o
EE_OBJS += $(IRX_DIR)/ps2dev9_irx.o $(IRX_DIR)/ps2atad_irx.o $(IRX_DIR)/ps2hdd_irx.o $(IRX_DIR)/ps2fs_irx.o $(IRX_DIR)/poweroff_irx.o
EE_OBJS += $(IRX_DIR)/mtapman_irx.o $(IRX_DIR)/padman_irx.o
# Missing objecst on the PS2SDK
+10 -2
View File
@@ -1,5 +1,6 @@
BUILD_FOR_PCSX2 = 0
DEBUG = 0
SCREEN_DEBUG = 0
MUTE_WARNINGS = 1
PS2_IP = 192.168.1.150
@@ -30,7 +31,12 @@ RARCH_DEFINES += -DPS2 -DIS_SALAMANDER -DRARCH_CONSOLE
LIBDIR =
LDFLAGS =
LIBS = -lelf-loader -lpatches
LIBS = -lelf-loader -lpatches -lfileXio -lpoweroff
ifeq ($(SCREEN_DEBUG), 1)
LIBS += -ldebug
RARCH_DEFINES += -DSCREEN_DEBUG
endif
ifeq ($(BUILD_FOR_PCSX2), 1)
RARCH_DEFINES += -DBUILD_FOR_PCSX2
@@ -61,8 +67,10 @@ EE_OBJS = frontend/frontend_salamander.o \
# Needed IRX objects
EE_OBJS += $(IRX_DIR)/sio2man_irx.o $ $(IRX_DIR)/iomanX_irx.o $(IRX_DIR)/fileXio_irx.o
EE_OBJS += $(IRX_DIR)/mcman_irx.o $(IRX_DIR)/mcserv_irx.o $(IRX_DIR)/usbd_irx.o $(IRX_DIR)/usbhdfsd_irx.o
EE_OBJS += $(IRX_DIR)/mcman_irx.o $(IRX_DIR)/mcserv_irx.o
EE_OBJS += $(IRX_DIR)/usbd_irx.o $(IRX_DIR)/bdm_irx.o $(IRX_DIR)/bdmfs_vfat_irx.o $(IRX_DIR)/usbmass_bd_irx.o
EE_OBJS += $(IRX_DIR)/cdfs_irx.o
EE_OBJS += $(IRX_DIR)/ps2dev9_irx.o $(IRX_DIR)/ps2atad_irx.o $(IRX_DIR)/ps2hdd_irx.o $(IRX_DIR)/ps2fs_irx.o $(IRX_DIR)/poweroff_irx.o
EE_CFLAGS = $(CFLAGS)
EE_CXXFLAGS = $(CFLAGS)
+29 -2
View File
@@ -30,7 +30,7 @@ CORE_PATH = pkg/psl1ght/pkg/USRDIR/cores/CORE.SELF
INCLUDE += -I. -Ips3/gcmgl/include/export -Ips3/include -Ideps -Ideps/stb -Ilibretro-common/include/compat/zlib -Ilibretro-common/include $(LIBPSL1GHT_INC) -Iinclude -Idefines
LIBDIRS += -L.
MACHDEP := -D__PSL1GHT__ -mcpu=cell
MACHDEP := -D__PSL1GHT__ -D__PS3__ -mcpu=cell
CFLAGS += -Wall $(MACHDEP) $(INCLUDE)
LDFLAGS := $(MACHDEP)
LIBS := -lretro_psl1ght -laudio -lrsx -lgcm_sys -lnet -lio -lsysutil -lsysmodule -lm -ljpgdec -lpngdec -llv2 -lnet -lnetctl -lsysfs
@@ -66,7 +66,34 @@ endif
SHARED_FLAGS :=
SHARED_FLAGS += -DHAVE_VIDEO_LAYOUT
SHARED_FLAGS += -DHAVE_MENU -DHAVE_CONFIGFILE -DHAVE_PATCH -DHAVE_CHEATS -DRARCH_CONSOLE -DHAVE_OVERLAY -DHAVE_HEADSET -DHAVE_CG -DHAVE_CG_RUNTIME_COMPILER -DHAVE_GCMGL -DHAVE_SYSMODULES -DHAVE_SYSUTILS -DHAVE_RARCH_EXEC -DHAVE_MOUSE -DHAVE_ZLIB -DHAVE_RPNG -DHAVE_GRIFFIN=1 -DHAVE_NETWORKING=1 -DHAVE_SOCKET_LEGACY=1 -DPC_DEVELOPMENT_IP_ADDRESS=\"$(PC_DEVELOPMENT_IP_ADDRESS)\" -DPC_DEVELOPMENT_UDP_PORT=$(PC_DEVELOPMENT_UDP_PORT) -Wno-char-subscripts -DHAVE_CC_RESAMPLER -DRARCH_INTERNAL -DHAVE_SCREENSHOTS -DHAVE_REWIND -DHAVE_MULTIMAN -DHAVE_RGUI
SHARED_FLAGS += -DHAVE_MENU \
-DHAVE_CONFIGFILE \
-DHAVE_PATCH \
-DHAVE_CHEATS \
-DRARCH_CONSOLE \
-DHAVE_OVERLAY \
-DHAVE_HEADSET \
-DHAVE_CG \
-DHAVE_CG_RUNTIME_COMPILER \
-DHAVE_SYSMODULES \
-DHAVE_SYSUTILS \
-DHAVE_RARCH_EXEC \
-DHAVE_MOUSE \
-DHAVE_ZLIB \
-DHAVE_RPNG \
-DHAVE_GRIFFIN=1 \
-DHAVE_NETWORKING=1 \
-DHAVE_SOCKET_LEGACY=1 \
-DPC_DEVELOPMENT_IP_ADDRESS=\"$(PC_DEVELOPMENT_IP_ADDRESS)\" \
-DPC_DEVELOPMENT_UDP_PORT=$(PC_DEVELOPMENT_UDP_PORT) \
-Wno-char-subscripts \
-DHAVE_CC_RESAMPLER \
-DRARCH_INTERNAL \
-DHAVE_SCREENSHOTS \
-DHAVE_REWIND \
-DHAVE_MULTIMAN \
-DHAVE_RGUI \
-DHAVE_CORE_INFO_CACHE
CFLAGS += -std=gnu99 $(SHARED_FLAGS)
CXXFLAGS += $(SHARED_FLAGS)
+4 -3
View File
@@ -27,13 +27,14 @@ ELF_TARGET := retroarch_psl1ght_salamander.elf
ELF_TARGET_NONSTRIPPED := retroarch_psl1ght_salamander_nonstripped.elf
EBOOT_PATH = pkg/psl1ght/pkg/USRDIR/EBOOT.BIN
INCLUDE += -I. -Ips3/gcmgl/include/export -Ips3/include -Ideps -Ideps/stb -Ilibretro-common/include/compat/zlib -Ilibretro-common/include $(LIBPSL1GHT_INC) -Iinclude
INCLUDE += -I. -Ips3/gcmgl/include/export -Ips3/include -Ideps -Ideps/stb -Ilibretro-common/include/compat/zlib \
-Ilibretro-common/include $(LIBPSL1GHT_INC) -Iinclude -Idefines
LIBDIRS += -L.
MACHDEP := -D__PSL1GHT__ -mcpu=cell -mhard-float -fmodulo-sched -ffunction-sections -fdata-sections
MACHDEP := -D__PS3__ -D__PSL1GHT__ -mcpu=cell -mhard-float -fmodulo-sched -ffunction-sections -fdata-sections
CFLAGS += -Wall $(MACHDEP) $(INCLUDE)
LDFLAGS := $(MACHDEP)
LIBS := -lgcm_sys -lrsx -lsysutil -lio -lnet -lsysmodule -lrt -llv2 -lm
LIBS := -lgcm_sys -lrsx -lsysutil -lio -lnet -lsysmodule -lrt -llv2 -lm -lsysfs
# system platform
system_platform = unix
+27 -3
View File
@@ -19,15 +19,39 @@ ifeq ($(WHOLE_ARCHIVE_LINK), 1)
WHOLE_END := -Wl,--no-whole-archive
endif
INCDIR = deps deps/stb deps/7zip deps/pthreads deps/pthreads/platform/psp deps/pthreads/platform/helper libretro-common/include libretro-common/include/compat/zlib
INCDIR = deps deps/stb deps/7zip libretro-common/include libretro-common/include/compat/zlib
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_AUDIOMIXER -DHAVE_RWAV -DHAVE_RPNG -DHAVE_RJPEG -DHAVE_GRIFFIN=1 -DRARCH_INTERNAL -DHAVE_SCREENSHOTS -DHAVE_REWIND -DRARCH_CONSOLE -DHAVE_MENU -DHAVE_CONFIGFILE -DHAVE_PATCH -DHAVE_CHEATS -DHAVE_RGUI -DHAVE_FILTERS_BUILTIN -DHAVE_DSP_FILTER -DHAVE_VIDEO_FILTER -DHAVE_7ZIP -D_7ZIP_ST -DHAVE_CC_RESAMPLER
RARCH_DEFINES = -DPSP \
-D_MIPS_ARCH_ALLEGREX \
-DHAVE_LANGEXTRA \
-DHAVE_ZLIB \
-DHAVE_AUDIOMIXER \
-DHAVE_RWAV \
-DHAVE_RPNG \
-DHAVE_RJPEG \
-DHAVE_GRIFFIN=1 \
-DRARCH_INTERNAL \
-DHAVE_SCREENSHOTS \
-DHAVE_REWIND \
-DRARCH_CONSOLE \
-DHAVE_MENU \
-DHAVE_CONFIGFILE \
-DHAVE_PATCH \
-DHAVE_CHEATS \
-DHAVE_RGUI \
-DHAVE_FILTERS_BUILTIN \
-DHAVE_DSP_FILTER \
-DHAVE_VIDEO_FILTER \
-DHAVE_7ZIP \
-D_7ZIP_ST \
-DHAVE_CC_RESAMPLER \
-DHAVE_CORE_INFO_CACHE
LIBDIR =
LDFLAGS =
LIBS = $(WHOLE_START) -lretro_psp1 $(WHOLE_END) -lstdc++ -lpspgu -lpspgum -lm -lpspaudio -lpspfpu -lpsppower -lpsprtc
LIBS = $(WHOLE_START) -lretro_psp1 $(WHOLE_END) -lstdc++ -lpspgu -lpspgum -lm -lpspaudio -lpspfpu -lpsppower -lpsprtc -lpthread-psp
ifeq ($(HAVE_THREADS), 1)
RARCH_DEFINES += -DHAVE_THREADS
+238
View File
@@ -0,0 +1,238 @@
#########################
## Toolchain variables ##
#########################
# Default toolchain directory
TOOLCHAIN_DIR=/opt/retrofw-toolchain
# All toolchain-related variables may be
# overridden via the command line
ifdef RETROFW_CC
CC = $(GCW0_CC)
else
CC = $(TOOLCHAIN_DIR)/usr/bin/mipsel-linux-gcc
endif
ifdef RETROFW_CXX
CXX = $(GCW0_CXX)
else
CXX = $(TOOLCHAIN_DIR)/usr/bin/mipsel-linux-g++
endif
ifdef RETROFW_STRIP
STRIP = $(GCW0_STRIP)
else
STRIP = $(TOOLCHAIN_DIR)/usr/bin/mipsel-linux-strip
endif
GCW0_SDL_CONFIG ?= $(TOOLCHAIN_DIR)/usr/mipsel-buildroot-linux-uclibc/sysroot/usr/bin/sdl-config
GCW0_FREETYPE_CONFIG ?= $(TOOLCHAIN_DIR)/usr/mipsel-buildroot-linux-uclibc/sysroot/usr/bin/freetype-config
#GCW0_MK_SQUASH_FS ?= $(TOOLCHAIN_DIR)/usr/bin/mksquashfs
GCW0_MK_SQUASH_FS ?= mksquashfs
GCW0_INC_DIR ?= $(TOOLCHAIN_DIR)/usr/mipsel-buildroot-linux-uclibc/sysroot/usr/include
GCW0_LIB_DIR ?= $(TOOLCHAIN_DIR)/usr/mipsel-buildroot-linux-uclibc/sysroot/usr/lib
#########################
#########################
PACKAGE_NAME = retroarch
RETROFW = 1
DEBUG ?= 0
DINGUX = 1
HAVE_SCREENSHOTS = 0
HAVE_REWIND = 1
HAVE_7ZIP = 1
HAVE_AL = 0
# ALSA freezes when switching back from menu
HAVE_ALSA = 0
HAVE_DSP_FILTER = 1
HAVE_VIDEO_FILTER = 1
HAVE_STATIC_VIDEO_FILTERS = 1
HAVE_STATIC_AUDIO_FILTERS = 1
HAVE_FILTERS_BUILTIN = 1
HAVE_BUILTINMBEDTLS = 0
HAVE_BUILTINZLIB = 1
HAVE_C99 = 1
HAVE_CC = 1
HAVE_CC_RESAMPLER = 1
HAVE_CHD = 1
HAVE_COMMAND = 0
HAVE_CXX = 1
HAVE_DR_MP3 = 1
HAVE_DYNAMIC = 1
HAVE_EGL = 0
HAVE_FREETYPE = 0
HAVE_GDI = 1
HAVE_GETADDRINFO = 0
HAVE_GETOPT_LONG = 1
HAVE_GLSL = 0
HAVE_HID = 1
HAVE_IBXM = 1
HAVE_IMAGEVIEWER = 1
HAVE_LANGEXTRA = 0
HAVE_LIBRETRODB = 1
HAVE_MENU = 1
HAVE_MENU_COMMON = 1
HAVE_GFX_WIDGETS = 0
HAVE_MMAP = 1
HAVE_OPENDINGUX_FBDEV = 0
HAVE_OPENGL = 0
HAVE_OPENGL1 = 0
HAVE_OPENGLES = 0
HAVE_OPENGLES3 = 0
HAVE_OPENGL_CORE = 0
HAVE_OPENSSL = 1
HAVE_OVERLAY = 0
HAVE_RBMP = 1
HAVE_RJPEG = 1
HAVE_RPILED = 0
HAVE_RPNG = 1
HAVE_RUNAHEAD = 0
HAVE_SDL_DINGUX = 1
HAVE_SHADERPIPELINE = 0
HAVE_STB_FONT = 0
HAVE_STB_IMAGE = 1
HAVE_STB_VORBIS = 1
HAVE_STDIN_CMD = 0
HAVE_STRCASESTR = 1
HAVE_THREADS = 1
HAVE_UDEV = 0
HAVE_RGUI = 1
HAVE_MATERIALUI = 0
HAVE_XMB = 0
HAVE_OZONE = 0
HAVE_ZLIB = 1
HAVE_CONFIGFILE = 1
HAVE_PATCH = 1
HAVE_CHEATS = 1
HAVE_CHEEVOS = 0
HAVE_LIBSHAKE = 0
HAVE_CORE_INFO_CACHE = 1
#comment out for now not working
#HAVE_OSS =1
#HAVE_OSS_LIB =1
OS = Linux
TARGET = retroarch
OPK_NAME = retroarch_retrofw.opk
OBJ :=
LINK := $(CXX)
DEF_FLAGS := -march=mips32 -mtune=mips32 -mhard-float -ffast-math -fomit-frame-pointer
DEF_FLAGS += -mplt -mno-shared
DEF_FLAGS += -ffunction-sections -fdata-sections
DEF_FLAGS += -I. -Ideps -Ideps/stb -DDINGUX=1 -DRETROFW=1 -MMD
DEF_FLAGS += -Wall -Wno-unused-variable -flto
DEF_FLAGS += -std=gnu99 -D_GNU_SOURCE
LIBS := -ldl -lz -lrt -pthread
CFLAGS :=
CXXFLAGS := -fno-exceptions -fno-rtti -std=c++11 -D__STDC_CONSTANT_MACROS
ASFLAGS :=
LDFLAGS := -Wl,--gc-sections
INCLUDE_DIRS = -I$(GCW0_INC_DIR)
LIBRARY_DIRS = -L$(GCW0_LIB_DIR)
DEFINES := -DRARCH_INTERNAL -D_FILE_OFFSET_BITS=64 -UHAVE_STATIC_DUMMY
DEFINES += -DHAVE_C99=1 -DHAVE_CXX=1
DEFINES += -DHAVE_GETOPT_LONG=1 -DHAVE_STRCASESTR=1 -DHAVE_DYNAMIC=1
DEFINES += -DHAVE_FILTERS_BUILTIN
SDL_DINGUX_CFLAGS := $(shell $(GCW0_SDL_CONFIG) --cflags)
SDL_DINGUX_LIBS := $(shell $(GCW0_SDL_CONFIG) --libs)
FREETYPE_CFLAGS := $(shell $(GCW0_FREETYPE_CONFIG) --cflags)
FREETYPE_LIBS := $(shell $(GCW0_FREETYPE_CONFIG) --libs)
MMAP_LIBS = -lc
OBJDIR_BASE := obj-unix
ifeq ($(DEBUG), 1)
OBJDIR := $(OBJDIR_BASE)/debug
DEF_FLAGS += -O0 -g -DDEBUG -D_DEBUG
else
OBJDIR := $(OBJDIR_BASE)/release
DEF_FLAGS += -O2 -DNDEBUG
endif
include Makefile.common
DEF_FLAGS += $(INCLUDE_DIRS)
LDFLAGS += $(CFLAGS) $(CXXFLAGS) $(DEF_FLAGS)
CFLAGS += $(DEF_FLAGS)
CXXFLAGS += $(DEF_FLAGS)
HEADERS = $(wildcard */*/*.h) $(wildcard */*.h) $(wildcard *.h)
Q := @
RARCH_OBJ := $(addprefix $(OBJDIR)/,$(OBJ))
define DESKTOP_ENTRY
[Desktop Entry]
Name=RetroArch
Comment=Frontend for emulators, game engines
Exec=retroarch
Terminal=false
Type=Application
StartupNotify=true
Icon=retroarch
Categories=emulators;
X-OD-NeedsDownscaling=true
endef
export DESKTOP_ENTRY
all: $(TARGET) opk
-include $(RARCH_OBJ:.o=.d)
SYMBOL_MAP := -Wl,-Map=output.map
$(TARGET): $(RARCH_OBJ)
@$(if $(Q), $(shell echo echo LD $@),)
$(Q)$(LINK) -o $@ $(RARCH_OBJ) $(LIBS) $(LDFLAGS) $(LIBRARY_DIRS)
$(OBJDIR)/%.o: %.c
@mkdir -p $(dir $@)
@$(if $(Q), $(shell echo echo CC $<),)
$(Q)$(CC) $(CPPFLAGS) $(CFLAGS) $(DEFINES) -c -o $@ $<
$(OBJDIR)/%.o: %.cpp
@mkdir -p $(dir $@)
@$(if $(Q), $(shell echo echo CXX $<),)
$(Q)$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(DEFINES) -MMD -c -o $@ $<
$(OBJDIR)/%.o: %.m
@mkdir -p $(dir $@)
@$(if $(Q), $(shell echo echo OBJC $<),)
$(Q)$(CXX) $(OBJCFLAGS) $(DEFINES) -MMD -c -o $@ $<
$(OBJDIR)/%.o: %.S $(HEADERS)
@mkdir -p $(dir $@)
@$(if $(Q), $(shell echo echo AS $<),)
$(Q)$(CC) $(CFLAGS) $(ASFLAGS) $(DEFINES) -c -o $@ $<
clean:
rm -rf $(OBJDIR_BASE)
rm -f $(TARGET)
rm -f *.d
rm -rf $(OPK_NAME)
opk: $(TARGET)
echo "$$DESKTOP_ENTRY" > default.retrofw.desktop
rm -f $(OPK_NAME)
cp media/ico_src/icon32.png retroarch.png
chmod +x retroarch
chmod 777 retroarch
ifeq ($(STRIP_BIN),1)
$(STRIP) --strip-unneeded retroarch
endif
$(GCW0_MK_SQUASH_FS) retroarch default.retrofw.desktop retroarch.png $(OPK_NAME) -all-root -no-xattrs -noappend -no-exports
rm -f default.retrofw.desktop retroarch.png
.PHONY: all clean opk
print-%:
@echo '$*=$($*)'
+4 -1
View File
@@ -108,6 +108,7 @@ HAVE_PATCH = 1
HAVE_CHEATS = 1
HAVE_CHEEVOS = 0
HAVE_LIBSHAKE = 1
HAVE_CORE_INFO_CACHE = 1
OS = Linux
TARGET = retroarch
@@ -219,7 +220,9 @@ opk: $(TARGET)
echo "$$DESKTOP_ENTRY" > default.gcw0.desktop
rm -f $(OPK_NAME)
cp media/ico_src/icon32.png retroarch.png
if [ $$STRIP_BIN -eq 1 ]; then $(STRIP) --strip-unneeded retroarch; fi
ifeq ($(STRIP_BIN),1)
$(STRIP) --strip-unneeded retroarch
endif
$(GCW0_MK_SQUASH_FS) retroarch default.gcw0.desktop retroarch.png $(OPK_NAME) -all-root -no-xattrs -noappend -no-exports
rm -f default.gcw0.desktop retroarch.png
+10 -5
View File
@@ -44,9 +44,8 @@ DINGUX_BETA = 1
HAVE_SCREENSHOTS = 0
HAVE_REWIND = 1
HAVE_7ZIP = 1
HAVE_AL = 1
# ALSA freezes when switching back from menu
HAVE_ALSA = 0
HAVE_AL = 0
HAVE_ALSA = 1
HAVE_DSP_FILTER = 1
HAVE_VIDEO_FILTER = 1
HAVE_STATIC_VIDEO_FILTERS = 1
@@ -109,6 +108,8 @@ HAVE_PATCH = 1
HAVE_CHEATS = 1
HAVE_CHEEVOS = 0
HAVE_LIBSHAKE = 1
HAVE_TINYALSA = 1
HAVE_CORE_INFO_CACHE = 1
OS = Linux
TARGET = retroarch
@@ -118,9 +119,11 @@ OBJ :=
LINK := $(CXX)
DEF_FLAGS := -mplt -mno-shared
DEF_FLAGS += -ffunction-sections -fdata-sections
DEF_FLAGS += -ffast-math
DEF_FLAGS += -I. -Ideps -Ideps/stb -DDINGUX=1 -DDINGUX_BETA=1 -MMD
DEF_FLAGS += -Wall -Wno-unused-variable
DEF_FLAGS += -std=gnu99 -D_GNU_SOURCE -flto
DEF_FLAGS += -lasound
LIBS := -ldl -lz -lrt -ludev -pthread
CFLAGS :=
CXXFLAGS := -fno-exceptions -fno-rtti -std=c++11 -D__STDC_CONSTANT_MACROS
@@ -131,9 +134,9 @@ LIBRARY_DIRS = -L$(GCW0_LIB_DIR)
DEFINES := -DRARCH_INTERNAL -D_FILE_OFFSET_BITS=64 -UHAVE_STATIC_DUMMY
DEFINES += -DHAVE_C99=1 -DHAVE_CXX=1
DEFINES += -DHAVE_GETOPT_LONG=1 -DHAVE_STRCASESTR=1 -DHAVE_DYNAMIC=1
DEFINES += -DHAVE_AL=1
DEFINES += -DHAVE_FILTERS_BUILTIN
DEFINES += -DHAVE_UDEV=1
DEFINES += -DHAVE_ALSA
SDL_DINGUX_CFLAGS := $(shell $(GCW0_SDL_CONFIG) --cflags)
SDL_DINGUX_LIBS := $(shell $(GCW0_SDL_CONFIG) --libs)
@@ -219,7 +222,9 @@ opk: $(TARGET)
echo "$$DESKTOP_ENTRY" > default.gcw0.desktop
rm -f $(OPK_NAME)
cp media/ico_src/icon32.png retroarch.png
if [ $$STRIP_BIN -eq 1 ]; then $(STRIP) --strip-unneeded retroarch; fi
ifeq ($(STRIP_BIN),1)
$(STRIP) --strip-unneeded retroarch
endif
$(GCW0_MK_SQUASH_FS) retroarch default.gcw0.desktop retroarch.png $(OPK_NAME) -all-root -no-xattrs -noappend -no-exports
rm -f default.gcw0.desktop retroarch.png
+235
View File
@@ -0,0 +1,235 @@
#########################
## Toolchain variables ##
#########################
# Alpha toolchain
TOOLCHAIN_DIR=/opt/rs90-toolchain
# All toolchain-related variables may be
# overridden via the command line
ifdef GCW0_CC
CC = $(GCW0_CC)
else
CC = $(TOOLCHAIN_DIR)/usr/bin/mipsel-rs90-linux-musl-gcc
endif
ifdef GCW0_CXX
CXX = $(GCW0_CXX)
else
CXX = $(TOOLCHAIN_DIR)/usr/bin/mipsel-rs90-linux-musl-g++
endif
ifdef GCW0_STRIP
STRIP = $(GCW0_STRIP)
else
STRIP = $(TOOLCHAIN_DIR)/usr/bin/mipsel-rs90-linux-musl-strip
endif
GCW0_SDL_CONFIG ?= $(TOOLCHAIN_DIR)/usr/mipsel-rs90-linux-musl/sysroot/usr/bin/sdl-config
GCW0_FREETYPE_CONFIG ?= $(TOOLCHAIN_DIR)/usr/mipsel-rs90-linux-musl/sysroot/usr/bin/freetype-config
GCW0_MK_SQUASH_FS ?= $(TOOLCHAIN_DIR)/usr/bin/mksquashfs
GCW0_INC_DIR ?= $(TOOLCHAIN_DIR)/usr/mipsel-rs90-linux-musl/sysroot/usr/include
GCW0_LIB_DIR ?= $(TOOLCHAIN_DIR)/usr/mipsel-rs90-linux-musl/sysroot/usr/lib
#########################
#########################
PACKAGE_NAME = retroarch
DEBUG ?= 0
RS90 = 1
DINGUX = 1
DINGUX_BETA = 1
HAVE_SCREENSHOTS = 0
HAVE_REWIND = 0
HAVE_7ZIP = 1
HAVE_AL = 0
HAVE_ALSA = 1
HAVE_DSP_FILTER = 1
HAVE_VIDEO_FILTER = 1
HAVE_STATIC_VIDEO_FILTERS = 1
HAVE_STATIC_AUDIO_FILTERS = 1
HAVE_FILTERS_BUILTIN = 1
HAVE_BUILTINMBEDTLS = 0
HAVE_BUILTINZLIB = 1
HAVE_C99 = 1
HAVE_CC = 1
HAVE_CC_RESAMPLER = 1
HAVE_CHD = 0
HAVE_COMMAND = 0
HAVE_CXX = 1
HAVE_DR_MP3 = 0
HAVE_DYNAMIC = 1
HAVE_EGL = 0
HAVE_FREETYPE = 0
HAVE_GDI = 0
HAVE_GETADDRINFO = 0
HAVE_GETOPT_LONG = 1
HAVE_GLSL = 0
HAVE_HID = 0
HAVE_IBXM = 0
HAVE_IMAGEVIEWER = 0
HAVE_LANGEXTRA = 0
HAVE_LIBRETRODB = 1
HAVE_MENU = 1
HAVE_MENU_COMMON = 1
HAVE_GFX_WIDGETS = 0
HAVE_MMAP = 1
HAVE_OPENDINGUX_FBDEV = 0
HAVE_OPENGL = 0
HAVE_OPENGL1 = 0
HAVE_OPENGLES = 0
HAVE_OPENGLES3 = 0
HAVE_OPENGL_CORE = 0
HAVE_OPENSSL = 0
HAVE_OVERLAY = 0
HAVE_RBMP = 1
HAVE_RJPEG = 1
HAVE_RPILED = 0
HAVE_RPNG = 1
HAVE_RUNAHEAD = 0
HAVE_SDL_DINGUX = 1
HAVE_SHADERPIPELINE = 0
HAVE_STB_FONT = 0
HAVE_STB_IMAGE = 0
HAVE_STB_VORBIS = 0
HAVE_STDIN_CMD = 0
HAVE_STRCASESTR = 1
HAVE_THREADS = 1
HAVE_UDEV = 1
HAVE_RGUI = 1
HAVE_MATERIALUI = 0
HAVE_XMB = 0
HAVE_OZONE = 0
HAVE_ZLIB = 1
HAVE_CONFIGFILE = 1
HAVE_PATCH = 1
HAVE_CHEATS = 1
HAVE_CHEEVOS = 0
HAVE_LIBSHAKE = 0
HAVE_TINYALSA = 1
HAVE_NEAREST_RESAMPLER = 1
HAVE_CORE_INFO_CACHE = 1
OS = Linux
TARGET = retroarch
OPK_NAME = retroarch_rs90_odbeta.opk
OBJ :=
LINK := $(CXX)
DEF_FLAGS := -mplt -mno-shared
DEF_FLAGS += -ffunction-sections -fdata-sections
DEF_FLAGS += -I. -Ideps -Ideps/stb -DRS90=1 -DDINGUX=1 -DDINGUX_BETA=1 -MMD
DEF_FLAGS += -Wall -Wno-unused-variable
DEF_FLAGS += -std=gnu99 -D_GNU_SOURopendinguxCE -flto -lasound
LIBS := -ldl -lz -lrt -ludev -pthread
CFLAGS :=
CXXFLAGS := -fno-exceptions -fno-rtti -std=c++11 -D__STDC_CONSTANT_MACROS
ASFLAGS :=
LDFLAGS := -Wl,--gc-sections
INCLUDE_DIRS = -I$(GCW0_INC_DIR)
LIBRARY_DIRS = -L$(GCW0_LIB_DIR)
DEFINES := -DRARCH_INTERNAL -D_FILE_OFFSET_BITS=64 -UHAVE_STATIC_DUMMY
DEFINES += -DHAVE_C99=1 -DHAVE_CXX=1
DEFINES += -DHAVE_GETOPT_LONG=1 -DHAVE_STRCASESTR=1 -DHAVE_DYNAMIC=1
DEFINES += -DHAVE_FILTERS_BUILTIN
DEFINES += -DHAVE_UDEV=1
DEFINES += -DHAVE_ALSA
DEFINES += -DCC_RESAMPLER_PRECISION=0
SDL_DINGUX_CFLAGS := $(shell $(GCW0_SDL_CONFIG) --cflags)
SDL_DINGUX_LIBS := $(shell $(GCW0_SDL_CONFIG) --libs)
FREETYPE_CFLAGS := $(shell $(GCW0_FREETYPE_CONFIG) --cflags)
FREETYPE_LIBS := $(shell $(GCW0_FREETYPE_CONFIG) --libs)
MMAP_LIBS = -lc
OBJDIR_BASE := obj-unix
ifeq ($(DEBUG), 1)
OBJDIR := $(OBJDIR_BASE)/debug
DEF_FLAGS += -O0 -g -DDEBUG -D_DEBUG
else
OBJDIR := $(OBJDIR_BASE)/release
DEF_FLAGS += -Ofast -DNDEBUG
endif
include Makefile.common
DEF_FLAGS += $(INCLUDE_DIRS)
LDFLAGS += $(CFLAGS) $(CXXFLAGS) $(DEF_FLAGS)
CFLAGS += $(DEF_FLAGS)
CXXFLAGS += $(DEF_FLAGS)
HEADERS = $(wildcard */*/*.h) $(wildcard */*.h) $(wildcard *.h)
Q := @
RARCH_OBJ := $(addprefix $(OBJDIR)/,$(OBJ))
define DESKTOP_ENTRY
[Desktop Entry]
Name=RetroArch
Comment=Frontend for emulators, game engines
Exec=retroarch
Terminal=false
Type=Application
StartupNotify=true
Icon=retroarch
Categories=emulators;
X-OD-NeedsDownscaling=true
endef
export DESKTOP_ENTRY
all: $(TARGET) opk
-include $(RARCH_OBJ:.o=.d)
SYMBOL_MAP := -Wl,-Map=output.map
$(TARGET): $(RARCH_OBJ)
@$(if $(Q), $(shell echo echo LD $@),)
$(Q)$(LINK) -o $@ $(RARCH_OBJ) $(LIBS) $(LDFLAGS) $(LIBRARY_DIRS)
$(OBJDIR)/%.o: %.c
@mkdir -p $(dir $@)
@$(if $(Q), $(shell echo echo CC $<),)
$(Q)$(CC) $(CPPFLAGS) $(CFLAGS) $(DEFINES) -c -o $@ $<
$(OBJDIR)/%.o: %.cpp
@mkdir -p $(dir $@)
@$(if $(Q), $(shell echo echo CXX $<),)
$(Q)$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(DEFINES) -MMD -c -o $@ $<
$(OBJDIR)/%.o: %.m
@mkdir -p $(dir $@)
@$(if $(Q), $(shell echo echo OBJC $<),)
$(Q)$(CXX) $(OBJCFLAGS) $(DEFINES) -MMD -c -o $@ $<
$(OBJDIR)/%.o: %.S $(HEADERS)
@mkdir -p $(dir $@)
@$(if $(Q), $(shell echo echo AS $<),)
$(Q)$(CC) $(CFLAGS) $(ASFLAGS) $(DEFINES) -c -o $@ $<
clean:
rm -rf $(OBJDIR_BASE)
rm -f $(TARGET)
rm -f *.d
rm -rf $(OPK_NAME)
opk: $(TARGET)
echo "$$DESKTOP_ENTRY" > default.rs90.desktop
rm -f $(OPK_NAME)
cp media/ico_src/icon32.png retroarch.png
ifeq ($STRIP_BIN, 1)
$(STRIP) --strip-unneeded retroarch
endif
$(GCW0_MK_SQUASH_FS) retroarch default.rs90.desktop retroarch.png $(OPK_NAME) -all-root -no-xattrs -noappend -no-exports
rm -f default.rs90.desktop retroarch.png
.PHONY: all clean opk
print-%:
@echo '$*=$($*)'
+4 -3
View File
@@ -15,7 +15,7 @@ ifeq ($(GRIFFIN_BUILD), 1)
DEFINES += -DHAVE_RUNAHEAD -DHAVE_DYNAMIC
DEFINES += -DHAVE_CONFIGFILE -DHAVE_PATCH -DHAVE_CHEATS
else
HAVE_REWIND = 1
HAVE_REWIND = 1
HAVE_AUDIOMIXER = 1
HAVE_RWAV = 1
HAVE_CC_RESAMPLER = 1
@@ -26,8 +26,8 @@ else
HAVE_RBMP = 1
HAVE_RGUI = 1
HAVE_ZLIB = 1
HAVE_DSP_FILTER = 1
HAVE_VIDEO_FILTER = 1
HAVE_DSP_FILTER = 1
HAVE_VIDEO_FILTER = 1
HAVE_BUILTINZLIB = 1
HAVE_LIBRETRODB = 1
HAVE_MATERIALUI = 0 # enable later?
@@ -41,6 +41,7 @@ else
HAVE_PATCH = 1
HAVE_CHEATS = 1
HAVE_IBXM = 1
HAVE_CORE_INFO_CACHE = 1
include Makefile.common
CFLAGS += $(DEF_FLAGS)
+62 -38
View File
@@ -13,28 +13,45 @@ PC_DEVELOPMENT_UDP_PORT =
OBJ :=
SCE_LIBC_SIZE := 4194304
DEFINES := -DHAVE_ONLINE_UPDATER -DHAVE_UPDATE_ASSETS
DEFINES := -DHAVE_ONLINE_UPDATER -DHAVE_UPDATE_ASSETS -DHAVE_STB_VORBIS
INCDIRS :=
ifeq ($(GRIFFIN_BUILD), 1)
OBJ += griffin/griffin.o
DEFINES += -DHAVE_GRIFFIN=1
DEFINES += -DHAVE_REWIND
DEFINES += -DHAVE_NEON -DHAVE_MENU -DHAVE_CONFIGFILE -DHAVE_PATCH -DHAVE_CHEATS -DHAVE_XMB -DHAVE_MATERIALUI -DHAVE_LIBRETRODB DEFINES -DHAVE_KEYMAPPER
DEFINES += -DHAVE_ZLIB -DHAVE_RPNG -DHAVE_RJPEG -DHAVE_RBMP -DHAVE_RTGA -DHAVE_CC_RESAMPLER
DEFINES += -DHAVE_GRIFFIN=1 \
-DHAVE_REWIND \
-DHAVE_NEON \
-DHAVE_MENU \
-DHAVE_CONFIGFILE \
-DHAVE_PATCH \
-DHAVE_CHEATS \
-DHAVE_XMB \
-DHAVE_MATERIALUI \
-DHAVE_LIBRETRODB \
-DHAVE_KEYMAPPER \
-DHAVE_ZLIB \
-DHAVE_RPNG \
-DHAVE_RJPEG \
-DHAVE_RBMP \
-DHAVE_RTGA \
-DHAVE_CC_RESAMPLER \
-DHAVE_CORE_INFO_CACHE
ifeq ($(DEBUG), 1)
DEFINES += -DHAVE_NETLOGGER
endif
INCDIRS += -I. -Ideps/7zip -Ilibretro-common/include -Ilibretro-common/include/compat/zlib -Ideps/stb
INCDIRS += -I. \
-Ideps/7zip \
-Ilibretro-common/include \
-Ilibretro-common/include/compat/zlib \
-Ideps/stb
else
HAVE_REWIND := 1
HAVE_UPDATE_ASSETS := 1
HAVE_ONLINE_UPDATER := 1
HAVE_REWIND := 1
HAVE_UPDATE_ASSETS := 1
HAVE_ONLINE_UPDATER := 1
HAVE_NEON := 1
HAVE_MATH_NEON := 1
HAVE_DSP_FILTER := 1
HAVE_VIDEO_FILTER := 1
HAVE_SCREENSHOTS := 1
HAVE_DSP_FILTER := 1
HAVE_VIDEO_FILTER := 1
HAVE_SCREENSHOTS := 1
HAVE_FILTERS_BUILTIN := 1
HAVE_LANGEXTRA := 1
HAVE_RPNG := 1
@@ -44,29 +61,29 @@ else
HAVE_ZLIB := 1
HAVE_7ZIP := 1
ifeq ($(HAVE_VITAGLES), 1)
HAVE_VITA2D := 0
HAVE_VITAGL := 0
HAVE_VITAGLES := 1
HAVE_OPENGL := 1
HAVE_OPENGLES := 1
HAVE_OPENGLES2 := 1
HAVE_EGL := 1
HAVE_GLSL := 1
HAVE_SHADERPIPELINE := 1
HAVE_VITA2D := 0
HAVE_VITAGL := 0
HAVE_VITAGLES := 1
HAVE_OPENGL := 1
HAVE_OPENGLES := 1
HAVE_OPENGLES2 := 1
HAVE_EGL := 1
HAVE_GLSL := 1
HAVE_SHADERPIPELINE := 1
else
HAVE_VITA2D := 1
HAVE_VITAGL := 0
HAVE_VITA2D := 1
HAVE_VITAGL := 0
endif
HAVE_NETWORKING := 1
HAVE_SOCKET_LEGACY := 1
HAVE_MENU := 1
HAVE_MENU_COMMON := 1
HAVE_GFX_WIDGETS := 1
HAVE_CONFIGFILE := 1
HAVE_PATCH := 1
HAVE_CHEATS := 1
HAVE_GFX_WIDGETS := 1
HAVE_CONFIGFILE := 1
HAVE_PATCH := 1
HAVE_CHEATS := 1
HAVE_OVERLAY := 1
HAVE_VIDEO_LAYOUT := 0
HAVE_VIDEO_LAYOUT := 0
HAVE_MATERIALUI := 1
HAVE_XMB := 1
HAVE_RGUI := 1
@@ -81,16 +98,17 @@ else
HAVE_STATIC_AUDIO_FILTERS = 1
HAVE_AUDIOMIXER := 1
HAVE_RWAV := 1
HAVE_CORE_INFO_CACHE := 1
ifeq ($(DEBUG), 1)
HAVE_NETLOGGER = 1
HAVE_NETLOGGER = 1
endif
include Makefile.common
CFLAGS += $(DEF_FLAGS)
BLACKLIST :=
OBJ := $(filter-out $(BLACKLIST),$(OBJ))
INCDIRS += $(INCLUDE_DIRS)
CFLAGS += $(DEF_FLAGS)
BLACKLIST :=
OBJ := $(filter-out $(BLACKLIST),$(OBJ))
INCDIRS += $(INCLUDE_DIRS)
endif
ifeq ($(strip $(VITASDK)),)
@@ -112,17 +130,23 @@ LD := $(CXX)
LIBDIRS := -L.
ARCHFLAGS := -march=armv7-a -mfpu=neon -mfloat-abi=hard -DVITA -DSCE_LIBC_SIZE=$(SCE_LIBC_SIZE)
CFLAGS += $(ARCHFLAGS) -mword-relocations -fno-optimize-sibling-calls -O2
ARCHFLAGS := -march=armv7-a -mfpu=neon -mfloat-abi=hard -DVITA
ifeq ($(HAVE_VITAGLES), 1)
ARCHFLAGS += -DSCE_LIBC_SIZE=$(SCE_LIBC_SIZE)
endif
CFLAGS += $(ARCHFLAGS) -mword-relocations -fno-optimize-sibling-calls
ifeq ($(DEBUG), 1)
CFLAGS += -g
CFLAGS += -g -Og
else
CFLAGS += -O2
endif
ASFLAGS := $(CFLAGS)
LDFLAGS := -Wl,-q
CFLAGS += -Wall -ffast-math -g
CFLAGS += -Wall -ffast-math
CFLAGS += -DRARCH_INTERNAL -DHAVE_SCREENSHOTS -DRARCH_CONSOLE
CFLAGS += -DHAVE_DSP_FILTER
CFLAGS += -DHAVE_VIDEO_FILTER
+243
View File
@@ -0,0 +1,243 @@
include version.all
$(call assert,$(call seq,$(TARGET_PREFIX),arm-webos-linux-gnueabi-),webOS SDK isn't setup properly. See https://github.com/webosbrew/meta-lg-webos-ndk#compile-program-by-command-line)
WEBOS_FREETYPE_CONFIG ?= $(SDKTARGETSYSROOT)/usr/bin/freetype-config
WEBOS_INC_DIR ?= $(SDKTARGETSYSROOT)/usr/include
WEBOS_LIB_DIR ?= $(SDKTARGETSYSROOT)/usr/lib
#########################
#########################
PACKAGE_NAME = com.retroarch
PACKAGE_VERSION := $(patsubst "%",%,$(RARCH_VERSION))
DEBUG ?= 0
HAVE_SCREENSHOTS = 0
HAVE_REWIND = 1
HAVE_7ZIP = 1
HAVE_ACCESSIBILITY = 1
HAVE_AL = 0
# ALSA freezes when switching back from menu
HAVE_ALSA = 0
HAVE_ANGLE = 0
HAVE_AUDIOIO = 0
HAVE_AUDIOMIXER = 1
HAVE_BLISSBOX = 0
HAVE_BSV_MOVIE = 1
HAVE_BUILTINBEARSSL = 0
HAVE_BUILTINFLAC = 1
HAVE_DSP_FILTER = 1
HAVE_VIDEO_FILTER = 1
HAVE_STATIC_VIDEO_FILTERS = 1
HAVE_STATIC_AUDIO_FILTERS = 1
HAVE_FILTERS_BUILTIN = 1
HAVE_BUILTINMBEDTLS = 1
HAVE_BUILTINZLIB = 1
HAVE_C99 = 1
HAVE_CC = 1
HAVE_CC_RESAMPLER = 1
HAVE_NEAREST_RESAMPLER = 1
HAVE_CHD = 1
HAVE_COMMAND = 1
HAVE_CXX = 1
HAVE_DR_MP3 = 1
HAVE_DYNAMIC = 1
HAVE_DYLIB = 1
HAVE_EGL = 0
HAVE_FREETYPE = 0
HAVE_GDI = 1
HAVE_GETADDRINFO = 1
HAVE_GETOPT_LONG = 1
HAVE_GLSL = 1
HAVE_GLSLANG = 0
HAVE_GLSLANG_HLSL = 0
HAVE_GLSLANG_OGLCOMPILER = 0
HAVE_GLSLANG_OSDEPENDENT = 0
HAVE_GLSLANG_SPIRV = 0
HAVE_GLSLANG_SPIRV_TOOLS = 0
HAVE_GLSLANG_SPIRV_TOOLS_OPT = 0
HAVE_HID = 1
HAVE_IBXM = 1
HAVE_IMAGEVIEWER = 1
HAVE_LANGEXTRA = 1
HAVE_LIBRETRODB = 1
HAVE_MENU = 1
HAVE_MENU_COMMON = 1
HAVE_NEON = 1
HAVE_NETPLAYDISCOVERY = 1
HAVE_NETPLAYDISCOVERY = 1
HAVE_NETWORK_CMD = 1
HAVE_NETWORKGAMEPAD = 1
HAVE_NETWORKING = 1
HAVE_GFX_WIDGETS = 1
HAVE_MMAP = 1
HAVE_ONLINE_UPDATER = 1
HAVE_OPENDINGUX_FBDEV = 0
HAVE_OPENGL = 0
HAVE_OPENGL1 = 0
HAVE_OPENGL_CORE = 0
HAVE_OPENGLES = 1
HAVE_OPENGLES3 = 0
HAVE_OPENGLES3_1 = 0
HAVE_OPENGLES3_2 = 0
HAVE_OPENSSL = 0
HAVE_OVERLAY = 1
HAVE_PULSE = 1
HAVE_RBMP = 1
HAVE_RJPEG = 1
HAVE_RPILED = 0
HAVE_RPNG = 1
HAVE_RUNAHEAD = 1
HAVE_SDL = 0
HAVE_SDL2 = 1
HAVE_SHADERPIPELINE = 1
HAVE_STB_FONT = 1
HAVE_STB_IMAGE = 1
HAVE_STB_VORBIS = 1
HAVE_STDIN_CMD = 0
HAVE_STRCASESTR = 1
HAVE_THREADS = 1
HAVE_UDEV = 0
HAVE_RGUI = 1
HAVE_MATERIALUI = 0
HAVE_XMB = 1
HAVE_OZONE = 1
HAVE_ZLIB = 1
HAVE_CONFIGFILE = 1
HAVE_PATCH = 1
HAVE_CHEATS = 1
HAVE_CHEEVOS = 1
HAVE_LIBSHAKE = 1
HAVE_UPDATE_ASSETS = 1
HAVE_UPDATE_CORES = 1
HAVE_CORE_INFO_CACHE = 1
OS = Linux
TARGET = retroarch
OBJ :=
LINK := $(CXX)
DEF_FLAGS += -ffunction-sections -fdata-sections
DEF_FLAGS += -I. -Ideps -Ideps/stb -DWEBOS=1 -MMD
DEF_FLAGS += -Wall -Wno-unused-variable
LIBS := -ldl -lz -lrt -pthread
CFLAGS :=
CXXFLAGS := -fno-exceptions -fno-rtti -std=c++11 -D__STDC_CONSTANT_MACROS
ASFLAGS :=
LDFLAGS := -Wl,--gc-sections
INCLUDE_DIRS = -I$(WEBOS_INC_DIR)
LIBRARY_DIRS = -L$(WEBOS_LIB_DIR)
DEFINES := -DRARCH_INTERNAL -D_FILE_OFFSET_BITS=64 -UHAVE_STATIC_DUMMY
DEFINES += -DHAVE_C99=1 -DHAVE_CXX=1 -D_GNU_SOURCE
DEFINES += -DHAVE_GETOPT_LONG=1 -DHAVE_STRCASESTR=1 -DHAVE_DYNAMIC=1
DEFINES += -DHAVE_FILTERS_BUILTIN
DEFINES += -DHAVE_SDL2
DEFINES += -DHAVE_PULSE
DEFINES += -DHAVE_NETWORKING -DHAVE_ONLINE_UPDATER -DHAVE_UPDATE_ASSETS -DHAVE_UPDATE_CORES
SDL2_CFLAGS := $(shell pkg-config --cflags sdl2)
SDL2_LIBS := $(shell pkg-config --libs sdl2)
OPENGLES_LIBS = -lGLESv2
PULSE_LIBS = $(shell pkg-config --libs libpulse)
MMAP_LIBS = -lc
NEON_CFLAGS = -mfpu=neon
NEON_ASFLAGS = -mfpu=neon
NETWORKING_LIBS = -lc
OBJDIR_BASE := obj-unix
ifeq ($(DEBUG), 1)
OBJDIR := $(OBJDIR_BASE)/debug
DEF_FLAGS += -O0 -g -DDEBUG -D_DEBUG
else
OBJDIR := $(OBJDIR_BASE)/release
DEF_FLAGS += -O2 -DNDEBUG
endif
include Makefile.common
DEF_FLAGS += $(INCLUDE_DIRS)
LDFLAGS += $(CFLAGS) $(CXXFLAGS) $(DEF_FLAGS)
CFLAGS += $(DEF_FLAGS)
CXXFLAGS += $(DEF_FLAGS)
HEADERS = $(wildcard */*/*.h) $(wildcard */*.h) $(wildcard *.h)
Q := @
RARCH_OBJ := $(addprefix $(OBJDIR)/,$(OBJ))
define APPINFO
{
"id": "$(PACKAGE_NAME)",
"version": "$(PACKAGE_VERSION)",
"vendor": "webosbrew.org",
"title": "RetroArch",
"icon": "icon160.png",
"main": "retroarch",
"iconColor": "#333333",
"type": "native",
"appDescription": "Emulation frontend"
}
endef
export APPINFO
all: $(TARGET) ipk
-include $(RARCH_OBJ:.o=.d)
SYMBOL_MAP := -Wl,-Map=output.map
$(TARGET): $(RARCH_OBJ)
@$(if $(Q), $(shell echo echo LD $@),)
$(Q)$(LINK) -o $@ $(RARCH_OBJ) $(LIBS) $(LDFLAGS) $(LIBRARY_DIRS)
$(OBJDIR)/%.o: %.c
@mkdir -p $(dir $@)
@$(if $(Q), $(shell echo echo CC $<),)
$(Q)$(CC) $(CPPFLAGS) $(CFLAGS) $(DEFINES) -c -o $@ $<
$(OBJDIR)/%.o: %.cpp
@mkdir -p $(dir $@)
@$(if $(Q), $(shell echo echo CXX $<),)
$(Q)$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(DEFINES) -MMD -c -o $@ $<
$(OBJDIR)/%.o: %.m
@mkdir -p $(dir $@)
@$(if $(Q), $(shell echo echo OBJC $<),)
$(Q)$(CXX) $(OBJCFLAGS) $(DEFINES) -MMD -c -o $@ $<
$(OBJDIR)/%.o: %.S $(HEADERS)
@mkdir -p $(dir $@)
@$(if $(Q), $(shell echo echo AS $<),)
$(Q)$(CC) $(CFLAGS) $(ASFLAGS) $(DEFINES) -c -o $@ $<
clean:
rm -rf $(OBJDIR_BASE)
rm -f $(TARGET)
rm -f *.d
rm -rf webos/*.ipk
rm -rf webos/dist
ipk: $(TARGET)
rm -rf webos/dist
mkdir -p webos/dist/lib
echo "$$APPINFO" > webos/dist/appinfo.json
cp -t webos/dist -vf $(TARGET) webos/icon160.png
cp -t webos/dist/lib -vf $(WEBOS_LIB_DIR)/libstdc++.so.6
$(STRIP) webos/dist/$(TARGET)
cd webos && ares-package dist
install: ipk
ares-install webos/$(PACKAGE_NAME)_$(PACKAGE_VERSION)_$(ARCH).ipk
launch: install
ares-launch com.retroarch
.PHONY: all clean ipk
print-%:
@echo '$*=$($*)'
+2 -1
View File
@@ -131,7 +131,8 @@ RARCH_CONSOLE = 1
#HAVE_LANGEXTRA := 1
HAVE_WIIUSB_HID := 1
HAVE_RARCH_EXEC := 1
HAVE_RSOUND := 1
HAVE_CORE_INFO_CACHE := 1
HAVE_RSOUND := 0
APP_BOOTER_DIR = wii/app_booter
PLATOBJS := $(APP_BOOTER_DIR)/app_booter.binobj
+18 -5
View File
@@ -7,10 +7,12 @@ GRIFFIN_BUILD = 0
SALAMANDER_BUILD = 0
WHOLE_ARCHIVE_LINK = 0
WIIU_HID = 1
HAVE_HID = 1
HAVE_RUNAHEAD = 1
WIIU_LOG_RPX = 0
BUILD_DIR = objs/wiiu
PC_DEVELOPMENT_TCP_PORT ?=
LOAD_WITHOUT_CORE_INFO ?= 0
ifeq ($(SALAMANDER_BUILD),1)
BUILD_DIR := $(BUILD_DIR)-salamander
@@ -85,6 +87,9 @@ else
ifeq ($(HAVE_RUNAHEAD),1)
DEFINES += -DHAVE_RUNAHEAD
endif
ifeq ($(LOAD_WITHOUT_CORE_INFO),1)
DEFINES += -DLOAD_WITHOUT_CORE_INFO
endif
OBJ += wiiu/shader_utils.o
OBJ += gfx/drivers/gx2_shaders/tex.o
@@ -102,7 +107,7 @@ endif
INCDIRS += -Ilibretro-common/include/compat/zlib
# for stb, libfat, iosuhax
INCDIRS += -Ideps -Ideps/libfat/include -Ideps/libiosuhax
INCDIRS += -Ideps -Ideps/libfat/include -Ideps/libiosuhax/include
# pad_functions uses wiiu/input.h
INCDIRS += -Iinput/include
INCDIRS += -Ideps/SPIRV-Cross
@@ -119,6 +124,7 @@ endif
DEFINES += -DHAVE_XMB -DHAVE_MATERIALUI
DEFINES += -DHAVE_HID
DEFINES += -DWANT_LIBFAT -DHAVE_LIBFAT -DWANT_IOSUHAX -DHAVE_IOSUHAX
DEFINES += -DHAVE_CORE_INFO_CACHE
DEFINES += -DSPIRV_CROSS_EXCEPTIONS_TO_ASSERTIONS
# $(GRIFFIN_BUILD),0
@@ -162,6 +168,7 @@ endif
HAVE_STATIC_AUDIO_FILTERS = 1
WANT_LIBFAT = 1
WANT_IOSUHAX = 1
HAVE_CORE_INFO_CACHE = 1
include Makefile.common
DEFINES += $(DEF_FLAGS)
@@ -327,17 +334,23 @@ $(BUILD_DIR)/$(TARGET).rpx.elf: $(OBJ) $(RPX_OBJ) libretro_wiiu.a wiiu/link_elf.
@$(if $(Q), echo LD $@,)
$(Q)$(LD) $(OBJ) $(RPX_OBJ) $(LDFLAGS) $(RPX_LDFLAGS) $(LIBDIRS) $(LIBS) -o $@
$(BUILD_DIR)/$(TARGET).rpx: $(BUILD_DIR)/$(TARGET).rpx.elf $(ELF2RPL) .$(TARGET).rpx.last
$(BUILD_DIR)/$(TARGET).large.rpx: $(BUILD_DIR)/$(TARGET).rpx.elf $(ELF2RPL) .$(TARGET).rpx.large.last
@$(if $(Q), echo ELF2RPL $@,)
@touch .$(TARGET).rpx.last
@touch .$(TARGET).rpx.large.last
$(Q)-$(ELF2RPL) $< $@
$(BUILD_DIR)/$(TARGET).rpx: $(BUILD_DIR)/$(TARGET).large.rpx .$(TARGET).rpx.last
@$(if $(Q), echo COMPRESS $@,)
@touch .$(TARGET).rpx.large.last
$(Q)wiiurpxtool -c $< $@
clean:
@$(if $(Q), echo $@,)
$(Q)rm -f $(OBJ) $(RPX_OBJ) $(HBL_ELF_OBJ) $(TARGET).elf $(TARGET).rpx.elf $(TARGET).rpx
$(Q)rm -f $(BUILD_DIR)/$(TARGET).elf $(BUILD_DIR)/$(TARGET).rpx.elf $(BUILD_DIR)/$(TARGET).rpx
$(Q)rm -f .$(TARGET).elf.last .$(TARGET).rpx.elf.last .$(TARGET).rpx.last
$(Q)rm -f $(BUILD_DIR)/$(TARGET).elf $(BUILD_DIR)/$(TARGET).rpx.elf $(BUILD_DIR)/$(TARGET).large.rpx $(BUILD_DIR)/$(TARGET).rpx
$(Q)rm -f .$(TARGET).elf.last .$(TARGET).rpx.elf.last .$(TARGET).rpx.large.last .$(TARGET).rpx.last
$(Q)rm -f $(OBJ:.o=.depend) $(RPX_OBJ:.o=.depend) $(HBL_ELF_OBJ:.o=.depend)
$(Q)$(MAKE) -C wiiu/wut/elf2rpl/ clean
.PHONY: clean all
.PRECIOUS: %.depend %.last
+1
View File
@@ -27,6 +27,7 @@ HAVE_VIDEO_FILTER = 1
HAVE_7ZIP = 1
HAVE_PYTHON = 0
DYNAMIC = 1
HAVE_CORE_INFO_CACHE = 1
HAVE_XINPUT = 1
HAVE_WINMM = 1
+59
View File
@@ -30,4 +30,63 @@
#include "config.h"
#endif
#include "configuration.h"
typedef struct
{
int ai_service_auto;
/* Is text-to-speech accessibility turned on? */
bool enabled;
} access_state_t;
bool is_accessibility_enabled(bool accessibility_enable, bool accessibility_enabled);
#ifdef HAVE_TRANSLATE
bool is_narrator_running(bool accessibility_enable);
#endif
/*
This function does all the stuff needed to translate the game screen,
using the URL given in the settings. Once the image from the frame
buffer is sent to the server, the callback will write the translated
image to the screen.
Supported client/services (thus far)
-VGTranslate client ( www.gitlab.com/spherebeaker/vg_translate )
-Ztranslate client/service ( www.ztranslate.net/docs/service )
To use a client, download the relevant code/release, configure
them, and run them on your local machine, or network. Set the
retroarch configuration to point to your local client (usually
listening on localhost:4404 ) and enable translation service.
If you don't want to run a client, you can also use a service,
which is basically like someone running a client for you. The
downside here is that your retroarch device will have to have
an internet connection, and you may have to sign up for it.
To make your own server, it must listen for a POST request, which
will consist of a JSON body, with the "image" field as a base64
encoded string of a 24bit-BMP/PNG that the will be translated.
The server must output the translated image in the form of a
JSON body, with the "image" field also as a base64 encoded
24bit-BMP, or as an alpha channel png.
"paused" boolean is passed in to indicate if the current call
was made during a paused frame. Due to how the menu widgets work,
if the ai service is called in "auto" mode, then this call will
be made while the menu widgets unpause the core for a frame to update
the on-screen widgets. To tell the ai service what the pause
mode is honestly, we store the runloop_paused variable from before
the handle_translation_cb wipes the widgets, and pass that in here.
*/
bool run_translation_service(settings_t *settings, bool paused);
bool accessibility_speak_priority(
bool accessibility_enable,
unsigned accessibility_narrator_speech_speed,
const char* speak_text, int priority);
access_state_t *access_state_get_ptr(void);
#endif
+1868
View File
File diff suppressed because it is too large. Load diff
+417
View File
@@ -0,0 +1,417 @@
/* 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_DRIVER__H
#define __AUDIO_DRIVER__H
#include <stdint.h>
#include <stdlib.h>
#include <stddef.h>
#include <sys/types.h>
#include <boolean.h>
#include <retro_common_api.h>
#include <retro_inline.h>
#include <libretro.h>
#include <retro_miscellaneous.h>
#ifdef HAVE_CONFIG_H
#include "../config.h"
#endif /* HAVE_CONFIG_H */
#ifdef HAVE_DSP_FILTER
#include <audio/dsp_filter.h>
#endif
#ifdef HAVE_AUDIOMIXER
#include <audio/audio_mixer.h>
#endif
#include <audio/audio_resampler.h>
#include "audio_defines.h"
#define AUDIO_BUFFER_FREE_SAMPLES_COUNT (8 * 1024)
RETRO_BEGIN_DECLS
#ifdef HAVE_AUDIOMIXER
typedef struct audio_mixer_stream
{
audio_mixer_sound_t *handle;
audio_mixer_voice_t *voice;
audio_mixer_stop_cb_t stop_cb;
void *buf;
char *name;
size_t bufsize;
float volume;
enum audio_mixer_stream_type stream_type;
enum audio_mixer_type type;
enum audio_mixer_state state;
} audio_mixer_stream_t;
typedef struct audio_mixer_stream_params
{
void *buf;
char *basename;
audio_mixer_stop_cb_t cb;
size_t bufsize;
unsigned slot_selection_idx;
float volume;
enum audio_mixer_slot_selection_type slot_selection_type;
enum audio_mixer_stream_type stream_type;
enum audio_mixer_type type;
enum audio_mixer_state state;
} audio_mixer_stream_params_t;
#endif
typedef struct audio_driver
{
/* Creates and initializes handle to audio driver.
*
* Returns: audio driver handle on success, otherwise NULL.
**/
void *(*init)(const char *device, unsigned rate,
unsigned latency, unsigned block_frames, unsigned *new_rate);
/*
* @data : Pointer to audio data handle.
* @buf : Audio buffer data.
* @size : Size of audio buffer.
*
* Write samples to audio driver.
*
* Write data in buffer to audio driver.
* A frame here is defined as one combined sample of left and right
* channels. (I.e. 44.1kHz, 16-bit stereo has 88.2k samples/s, and
* 44.1k frames/s.)
*
* Samples are interleaved in format LRLRLRLRLR ...
* If the driver returns true in use_float(), a floating point
* format will be used, with range [-1.0, 1.0].
* If not, signed 16-bit samples in native byte ordering will be used.
*
* This function returns the number of frames successfully written.
* If an error occurs, -1 should be returned.
* Note that non-blocking behavior that cannot write at this time
* should return 0 as returning -1 will terminate the driver.
*
* Unless said otherwise with set_nonblock_state(), all writes
* are blocking, and it should block till it has written all frames.
*/
ssize_t (*write)(void *data, const void *buf, size_t size);
/* Temporarily pauses the audio driver. */
bool (*stop)(void *data);
/* Resumes audio driver from the paused state. */
bool (*start)(void *data, bool is_shutdown);
/* Is the audio driver currently running? */
bool (*alive)(void *data);
/* Should we care about blocking in audio thread? Fast forwarding.
*
* If state is true, nonblocking operation is assumed.
* This is typically used for fast-forwarding. If driver cannot
* implement nonblocking writes, this can be disregarded, but should
* log a message to stderr.
* */
void (*set_nonblock_state)(void *data, bool toggle);
/* Stops and frees driver data. */
void (*free)(void *data);
/* Defines if driver will take standard floating point samples,
* or int16_t samples.
*
* If true is returned, the audio driver is capable of using
* floating point data. This will likely increase performance as the
* resampler unit uses floating point. The sample range is
* [-1.0, 1.0].
* */
bool (*use_float)(void *data);
/* Human-readable identifier. */
const char *ident;
/* Optional. Get audio device list (allocates, caller has to free this) */
void *(*device_list_new)(void *data);
/* Optional. Frees audio device list */
void (*device_list_free)(void *data, void *data2);
/* Optional. */
size_t (*write_avail)(void *data);
size_t (*buffer_size)(void *data);
} audio_driver_t;
typedef struct
{
double source_ratio_original;
double source_ratio_current;
uint64_t free_samples_count;
struct string_list *devices_list;
float *output_samples_buf;
#ifdef HAVE_REWIND
int16_t *rewind_buf;
#endif
int16_t *output_samples_conv_buf;
#ifdef HAVE_DSP_FILTER
retro_dsp_filter_t *dsp;
#endif
const retro_resampler_t *resampler;
void *resampler_data;
const audio_driver_t *current_audio;
void *context_audio_data;
float *input_data;
#ifdef HAVE_AUDIOMIXER
struct audio_mixer_stream
mixer_streams[AUDIO_MIXER_MAX_SYSTEM_STREAMS];
#endif
struct retro_audio_callback callback; /* ptr alignment */
/* ptr alignment */
size_t chunk_size;
size_t chunk_nonblock_size;
size_t chunk_block_size;
#ifdef HAVE_REWIND
size_t rewind_ptr;
size_t rewind_size;
#endif
size_t buffer_size;
size_t data_ptr;
unsigned free_samples_buf[
AUDIO_BUFFER_FREE_SAMPLES_COUNT];
#ifdef HAVE_AUDIOMIXER
float mixer_volume_gain;
#endif
float rate_control_delta;
float input;
float volume_gain;
enum resampler_quality resampler_quality;
char resampler_ident[64];
bool active;
bool control;
bool mute_enable;
bool use_float;
bool suspended;
#ifdef HAVE_AUDIOMIXER
bool mixer_mute_enable;
bool mixer_active;
#endif
#ifdef HAVE_RUNAHEAD
bool hard_disable;
#endif
} audio_driver_state_t;
bool audio_driver_enable_callback(void);
bool audio_driver_disable_callback(void);
bool audio_driver_mixer_extension_supported(const char *ext);
void audio_driver_dsp_filter_free(void);
bool audio_driver_dsp_filter_init(const char *device);
void audio_driver_set_buffer_size(size_t bufsize);
bool audio_driver_get_devices_list(void **ptr);
void audio_driver_setup_rewind(void);
bool audio_driver_callback(void);
bool audio_driver_has_callback(void);
void audio_driver_frame_is_reverse(void);
void audio_set_float(enum audio_action action, float val);
float *audio_get_float_ptr(enum audio_action action);
bool *audio_get_bool_ptr(enum audio_action action);
#ifdef HAVE_AUDIOMIXER
audio_mixer_stream_t *audio_driver_mixer_get_stream(unsigned i);
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);
void audio_driver_mixer_stop_stream(unsigned i);
float audio_driver_mixer_get_stream_volume(unsigned i);
void audio_driver_mixer_set_stream_volume(unsigned i, float vol);
void audio_driver_mixer_remove_stream(unsigned i);
enum audio_mixer_state audio_driver_mixer_get_stream_state(unsigned i);
const char *audio_driver_mixer_get_stream_name(unsigned i);
void audio_driver_load_system_sounds(void);
#endif
bool audio_driver_start(bool is_shutdown);
bool audio_driver_stop(void);
#ifdef HAVE_TRANSLATE
/* TODO/FIXME - Doesn't currently work. Fix this. */
bool audio_driver_is_ai_service_speech_running(void);
#endif
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;
extern audio_driver_t audio_tinyalsa;
extern audio_driver_t audio_roar;
extern audio_driver_t audio_openal;
extern audio_driver_t audio_opensl;
extern audio_driver_t audio_jack;
extern audio_driver_t audio_sdl;
extern audio_driver_t audio_xa;
extern audio_driver_t audio_pulse;
extern audio_driver_t audio_dsound;
extern audio_driver_t audio_wasapi;
extern audio_driver_t audio_coreaudio;
extern audio_driver_t audio_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;
#ifdef HAVE_THREADS
extern audio_driver_t audio_ctr_dsp_thread;
#endif
extern audio_driver_t audio_switch;
extern audio_driver_t audio_switch_thread;
extern audio_driver_t audio_switch_libnx_audren;
extern audio_driver_t audio_switch_libnx_audren_thread;
extern audio_driver_t audio_rwebaudio;
audio_driver_state_t *audio_state_get_ptr(void);
extern audio_driver_t *audio_drivers[];
/**
* audio_compute_buffer_statistics:
*
* Computes audio buffer statistics.
*
**/
bool audio_compute_buffer_statistics(audio_statistics_t *stats);
float audio_driver_monitor_adjust_system_rates(
double input_sample_rate,
double input_fps,
float video_refresh_rate,
unsigned video_swap_interval,
float audio_max_timing_skew);
bool audio_driver_init_internal(
void *settings_data,
bool audio_cb_inited);
bool audio_driver_deinit(void);
bool audio_driver_find_driver(
void *settings_data,
const char *prefix,
bool verbosity_enabled);
/**
* audio_driver_sample:
* @left : value of the left audio channel.
* @right : value of the right audio channel.
*
* Audio sample render callback function.
**/
void audio_driver_sample(int16_t left, int16_t right);
/**
* audio_driver_sample_batch:
* @data : pointer to audio buffer.
* @frames : amount of audio frames to push.
*
* Batched audio sample render callback function.
*
* Returns: amount of frames sampled. Will be equal to @frames
* unless @frames exceeds (AUDIO_CHUNK_SIZE_NONBLOCKING / 2).
**/
size_t audio_driver_sample_batch(const int16_t *data, size_t frames);
#ifdef HAVE_REWIND
/**
* audio_driver_sample_rewind:
* @left : value of the left audio channel.
* @right : value of the right audio channel.
*
* Audio sample render callback function (rewind version).
* This callback function will be used instead of
* audio_driver_sample when rewinding is activated.
**/
void audio_driver_sample_rewind(int16_t left, int16_t right);
/**
* audio_driver_sample_batch_rewind:
* @data : pointer to audio buffer.
* @frames : amount of audio frames to push.
*
* Batched audio sample render callback function (rewind version).
*
* This callback function will be used instead of
* audio_driver_sample_batch when rewinding is activated.
*
* Returns: amount of frames sampled. Will be equal to @frames
* unless @frames exceeds (AUDIO_CHUNK_SIZE_NONBLOCKING / 2).
**/
size_t audio_driver_sample_batch_rewind(
const int16_t *data, size_t frames);
#endif
#ifdef HAVE_MENU
void audio_driver_menu_sample(void);
#endif
RETRO_END_DECLS
#endif /* __AUDIO_DRIVER__H */
+1
View File
@@ -21,6 +21,7 @@
#include <rthreads/rthreads.h>
#include "audio_thread_wrapper.h"
#include "audio_driver.h"
#include "../verbosity.h"
typedef struct audio_thread
+1 -1
View File
@@ -19,7 +19,7 @@
#include <boolean.h>
#include "../retroarch.h"
#include "audio_driver.h"
/**
* audio_init_thread:
+1 -1
View File
@@ -21,7 +21,7 @@
#include <alsa/asoundlib.h>
#include "../../retroarch.h"
#include "../audio_driver.h"
#include "../../verbosity.h"
typedef struct alsa
+1 -1
View File
@@ -19,7 +19,7 @@
#include <sys/asoundlib.h>
#include <retro_math.h>
#include "../../retroarch.h"
#include "../audio_driver.h"
#define MAX_FRAG_SIZE 3072
#define DEFAULT_RATE 48000
+1 -1
View File
@@ -24,7 +24,7 @@
#include <queues/fifo_queue.h>
#include <string/stdstring.h>
#include "../../retroarch.h"
#include "../audio_driver.h"
#include "../../verbosity.h"
#define TRY_ALSA(x) if (x < 0) \
+2 -2
View File
@@ -24,10 +24,10 @@
#include <sys/audioio.h>
#ifdef HAVE_CONFIG_H
#include "config.h"
#include "../../config.h"
#endif
#include "../../retroarch.h"
#include "../audio_driver.h"
#include "../../verbosity.h"
#define DEFAULT_DEV "/dev/audio"
+1 -1
View File
@@ -31,7 +31,7 @@
#include <retro_endianness.h>
#include <string/stdstring.h>
#include "../../retroarch.h"
#include "../audio_driver.h"
#include "../../verbosity.h"
typedef struct coreaudio
+1 -1
View File
@@ -22,7 +22,7 @@
#include <stdlib.h>
#include <memory.h>
#include "../../retroarch.h"
#include "../audio_driver.h"
#include "../../verbosity.h"
#pragma mark - ringbuffer
+1 -1
View File
@@ -19,7 +19,7 @@
#include <retro_miscellaneous.h>
#include <retro_timers.h>
#include "../../retroarch.h"
#include "../audio_driver.h"
typedef struct
{
+1 -1
View File
@@ -17,7 +17,7 @@
#include <string.h>
#include <malloc.h>
#include "../../retroarch.h"
#include "../audio_driver.h"
#include "../../ctr/ctr_debug.h"
typedef struct
+1 -1
View File
@@ -19,7 +19,7 @@
#include <queues/fifo_queue.h>
#include <rthreads/rthreads.h>
#include "../../retroarch.h"
#include "../audio_driver.h"
#include "../../ctr/ctr_debug.h"
typedef struct
+3 -2
View File
@@ -39,7 +39,7 @@
#include <queues/fifo_queue.h>
#include <string/stdstring.h>
#include "../../retroarch.h"
#include "../audio_driver.h"
#include "../../verbosity.h"
#ifdef _XBOX
@@ -546,7 +546,8 @@ static ssize_t dsound_write(void *data, const void *buf_, size_t size)
break;
if (avail == 0)
WaitForSingleObject(ds->event, INFINITE);
if (!(WaitForSingleObject(ds->event, 50) == WAIT_OBJECT_0))
return -1;
}
}
+3 -2
View File
@@ -27,8 +27,9 @@
#include <boolean.h>
#include <retro_inline.h>
#include "../../retroarch.h"
#include "../../defines/gx_defines.h"
#include <defines/gx_defines.h>
#include "../audio_driver.h"
typedef struct
{
+1 -1
View File
@@ -26,7 +26,7 @@
#include <rthreads/rthreads.h>
#include "../../configuration.h"
#include "../../retroarch.h"
#include "../audio_driver.h"
#include "../../verbosity.h"
#define FRAMES(x) (x / (sizeof(float) * 2))
+1 -1
View File
@@ -33,7 +33,7 @@
#include <retro_miscellaneous.h>
#include <retro_timers.h>
#include "../../retroarch.h"
#include "../audio_driver.h"
#include "../../verbosity.h"
#define BUFSIZE 1024
+2 -2
View File
@@ -21,7 +21,7 @@
#include <rthreads/rthreads.h>
#include "../../retroarch.h"
#include "../audio_driver.h"
/* Helper macros, COM-style. */
#define SLObjectItf_Realize(a, ...) ((*(a))->Realize(a, __VA_ARGS__))
@@ -116,7 +116,7 @@ static void *sl_init(const char *device, unsigned rate, unsigned latency,
if (!sl)
goto error;
RARCH_LOG("[OpenSL]: Requested audio latency: %u ms.", latency);
RARCH_LOG("[OpenSL]: Requested audio latency: %u ms.\n", latency);
GOTO_IF_FAIL(slCreateEngine(&sl->engine_object, 0, NULL, 0, NULL, NULL));
GOTO_IF_FAIL(SLObjectItf_Realize(sl->engine_object, SL_BOOLEAN_FALSE));
+2 -2
View File
@@ -30,10 +30,10 @@
#include <retro_endianness.h>
#ifdef HAVE_CONFIG_H
#include "config.h"
#include "../../config.h"
#endif
#include "../../retroarch.h"
#include "../audio_driver.h"
#include "../../verbosity.h"
#ifdef HAVE_OSS_BSD
+1 -1
View File
@@ -20,7 +20,7 @@
#include <kernel.h>
#include <audsrv.h>
#include "../../retroarch.h"
#include "../audio_driver.h"
#define AUDIO_BUFFER 128 * 1024
#define AUDIO_CHANNELS 2
+2 -2
View File
@@ -19,9 +19,9 @@
#include <queues/fifo_queue.h>
#include "../../retroarch.h"
#include <defines/ps3_defines.h>
#include "../../defines/ps3_defines.h"
#include "../audio_driver.h"
#define AUDIO_BLOCKS 8
#define AUDIO_CHANNELS 2
+1 -1
View File
@@ -40,7 +40,7 @@
#define SceUID uint32_t
#endif
#include "../../retroarch.h"
#include "../audio_driver.h"
typedef struct psp_audio
{
+1 -1
View File
@@ -23,7 +23,7 @@
#include <retro_miscellaneous.h>
#include <retro_endianness.h>
#include "../../retroarch.h"
#include "../audio_driver.h"
#include "../../verbosity.h"
typedef struct
+1 -1
View File
@@ -23,7 +23,7 @@
#include <boolean.h>
#include "../../retroarch.h"
#include "../audio_driver.h"
#include "../../verbosity.h"
typedef struct
+1 -1
View File
@@ -21,7 +21,7 @@
#include <queues/fifo_queue.h>
#include <rthreads/rthreads.h>
#include "../../retroarch.h"
#include "../audio_driver.h"
#include "rsound.h"
typedef struct rsd
+2 -2
View File
@@ -18,7 +18,7 @@
#include <unistd.h>
#include <boolean.h>
#include "../../retroarch.h"
#include "../audio_driver.h"
/* forward declarations */
unsigned RWebAudioSampleRate(void);
@@ -49,7 +49,7 @@ static void *rwebaudio_init(const char *device, unsigned rate, unsigned latency,
rweb_audio_t *rwebaudio = (rweb_audio_t*)calloc(1, sizeof(rweb_audio_t));
if (!rwebaudio)
return NULL;
if (RWebAudioInit(latency) == 1)
if (RWebAudioInit(latency))
*new_rate = RWebAudioSampleRate();
return rwebaudio;
}
+3 -3
View File
@@ -25,12 +25,12 @@
#include <retro_inline.h>
#include <retro_math.h>
#include "../../retroarch.h"
#include "../../verbosity.h"
#include "SDL.h"
#include "SDL_audio.h"
#include "../audio_driver.h"
#include "../../verbosity.h"
typedef struct sdl_audio
{
#ifdef HAVE_THREADS
+1 -1
View File
@@ -20,7 +20,7 @@
#include <stdint.h>
#include "switch_audio_compat.h"
#include "../../retroarch.h"
#include "../audio_driver.h"
#include "../../verbosity.h"
#ifdef HAVE_LIBNX
+1 -1
View File
@@ -23,7 +23,7 @@
#include <switch.h>
#include "../../retroarch.h"
#include "../audio_driver.h"
#include "../../verbosity.h"
#define BUFFER_COUNT 5
@@ -21,7 +21,8 @@
#include <switch.h>
#include <queues/fifo_queue.h>
#include "../../retroarch.h"
#include "../audio_driver.h"
#include "../../verbosity.h"
#include "../../tasks/tasks_internal.h"
@@ -144,7 +145,7 @@ static void *libnx_audren_thread_audio_init(const char *device, unsigned rate, u
int mpid;
size_t mempool_size;
unsigned real_latency;
uint32_t thread_priority;
int32_t thread_priority;
RARCH_LOG("[Audio]: Using libnx_audren_thread driver\n");
+3 -2
View File
@@ -28,7 +28,8 @@
#endif
#include <queues/fifo_queue.h>
#include "../../retroarch.h"
#include "../audio_driver.h"
#include "../../verbosity.h"
#include "../../tasks/tasks_internal.h"
@@ -141,7 +142,7 @@ static void *switch_thread_audio_init(const char *device, unsigned rate, unsigne
{
Result rc;
unsigned i;
uint32_t prio;
int32_t prio;
#ifndef HAVE_LIBNX
char names[8][0x20];
uint32_t num_names = 0;
+1 -1
View File
@@ -64,7 +64,7 @@
#include <retro_inline.h>
#include <retro_endianness.h>
#include "../../retroarch.h"
#include "../audio_driver.h"
#include "../../verbosity.h"
/* Implementation tinyalsa pcm */
+2 -2
View File
@@ -22,7 +22,7 @@
#include "../common/mmdevice_common.h"
#include "../common/mmdevice_common_inline.h"
#include "../../retroarch.h"
#include "../audio_driver.h"
#include "../../verbosity.h"
#include "../../configuration.h"
@@ -736,7 +736,7 @@ static ssize_t wasapi_write_ex(wasapi_t *w, const void * data, size_t size, DWOR
if (!write_avail)
{
if (WaitForSingleObject(w->write_event, ms) != WAIT_OBJECT_0)
return -1;
return 0;
if (!wasapi_flush_buffer(w, w->engine_buffer_size))
return -1;
+1 -1
View File
@@ -24,7 +24,7 @@
#include "../../wiiu/wiiu_dbg.h"
#include "../../wiiu/system/memory.h"
#include "../../retroarch.h"
#include "../audio_driver.h"
typedef struct
{
+3 -2
View File
@@ -42,7 +42,7 @@
#include "../common/mmdevice_common.h"
#endif
#include "../../retroarch.h"
#include "../audio_driver.h"
#include "../../verbosity.h"
typedef struct xaudio2 xaudio2_t;
@@ -371,7 +371,8 @@ static ssize_t xa_write(void *data, const void *buf, size_t size)
XAUDIO2_BUFFER xa2buffer;
while (handle->buffers == MAX_BUFFERS - 1)
WaitForSingleObject(handle->hEvent, INFINITE);
if (!(WaitForSingleObject(handle->hEvent, 50) == WAIT_OBJECT_0))
return -1;
xa2buffer.Flags = 0;
xa2buffer.AudioBytes = handle->bufsize;
+1 -1
View File
@@ -21,7 +21,7 @@
#include <retro_inline.h>
#include "../../retroarch.h"
#include "../audio_driver.h"
#define SOUND_FREQUENCY 48000
#define MAX_BUFFER 2048
+1 -7
View File
@@ -29,12 +29,6 @@
#include <audio/audio_resampler.h>
#if (defined(__ARM_NEON__) && !defined(DONT_WANT_ARM_OPTIMIZATIONS)) || defined(HAVE_NEON)
#ifndef HAVE_ARM_NEON_OPTIMIZATIONS
#define HAVE_ARM_NEON_OPTIMIZATIONS
#endif
#endif
/* Since SSE and NEON don't provide support for trigonometric functions
* we approximate those with polynoms
*
@@ -350,7 +344,7 @@ static void resampler_CC_upsample(void *re_, struct resampler_data *data)
data->output_frames = outp - (audio_frame_float_t*)data->data_out;
}
#elif defined(HAVE_ARM_NEON_OPTIMIZATIONS)
#elif defined(HAVE_ARM_NEON_ASM_OPTIMIZATIONS)
#define CC_RESAMPLER_IDENT "NEON"
+1 -1
View File
@@ -1,6 +1,6 @@
#include <errno.h>
#include <reent.h>
#include "../../defines/psp_defines.h"
#include <defines/psp_defines.h>
#include <psp2/kernel/sysmem.h>
#include <psp2/kernel/threadmgr.h>
+7 -7
View File
@@ -776,7 +776,7 @@ int cheat_manager_initialize_memory(rarch_setting_t *setting, size_t idx, bool w
retro_ctx_memory_info_t meminfo;
bool refresh = false;
bool is_search_initialization = (setting != NULL);
rarch_system_info_t *system = runloop_get_system_info();
rarch_system_info_t *system = &runloop_state_get_ptr()->system;
unsigned offset = 0;
cheat_manager_t *cheat_st = &cheat_manager_state;
@@ -1341,8 +1341,8 @@ void cheat_manager_apply_rumble(struct item_cheat *cheat, unsigned int curr_valu
{
cheat->rumble_primary_end_time = current_time + (cheat->rumble_primary_duration * 1000);
cheat->rumble_secondary_end_time = current_time + (cheat->rumble_secondary_duration * 1000);
input_driver_set_rumble_state(cheat->rumble_port, RETRO_RUMBLE_STRONG, cheat->rumble_primary_strength);
input_driver_set_rumble_state(cheat->rumble_port, RETRO_RUMBLE_WEAK, cheat->rumble_secondary_strength);
input_set_rumble_state(cheat->rumble_port, RETRO_RUMBLE_STRONG, cheat->rumble_primary_strength);
input_set_rumble_state(cheat->rumble_port, RETRO_RUMBLE_WEAK, cheat->rumble_secondary_strength);
}
}
else
@@ -1354,24 +1354,24 @@ void cheat_manager_apply_rumble(struct item_cheat *cheat, unsigned int curr_valu
if (cheat->rumble_primary_end_time <= current_time)
{
if (cheat->rumble_primary_end_time != 0)
input_driver_set_rumble_state(cheat->rumble_port,
input_set_rumble_state(cheat->rumble_port,
RETRO_RUMBLE_STRONG, 0);
cheat->rumble_primary_end_time = 0;
}
else
{
input_driver_set_rumble_state(cheat->rumble_port,
input_set_rumble_state(cheat->rumble_port,
RETRO_RUMBLE_STRONG, cheat->rumble_primary_strength);
}
if (cheat->rumble_secondary_end_time <= current_time)
{
if (cheat->rumble_secondary_end_time != 0)
input_driver_set_rumble_state(cheat->rumble_port, RETRO_RUMBLE_WEAK, 0);
input_set_rumble_state(cheat->rumble_port, RETRO_RUMBLE_WEAK, 0);
cheat->rumble_secondary_end_time = 0;
}
else
input_driver_set_rumble_state(cheat->rumble_port, RETRO_RUMBLE_WEAK, cheat->rumble_secondary_strength);
input_set_rumble_state(cheat->rumble_port, RETRO_RUMBLE_WEAK, cheat->rumble_secondary_strength);
}
void cheat_manager_apply_retro_cheats(void)
-91
View File
@@ -1,91 +0,0 @@
/* 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/>.
*/
#include <file/file_path.h>
#include "../file_path_special.h"
#include "../configuration.h"
#include "../gfx/gfx_display.h"
#include "badges.h"
#ifdef HAVE_MENU
#define CHEEVOS_MENU_BADGE_LIMIT 256
/* TODO/FIXME - public global variables */
static uintptr_t cheevos_badge_menu_texture_list[CHEEVOS_MENU_BADGE_LIMIT] = { 0 };
void cheevos_reset_menu_badges(void)
{
int index;
for (index = 0; index < CHEEVOS_MENU_BADGE_LIMIT; ++index)
{
if (cheevos_badge_menu_texture_list[index])
video_driver_texture_unload(&cheevos_badge_menu_texture_list[index]);
}
memset(&cheevos_badge_menu_texture_list, 0,
sizeof(cheevos_badge_menu_texture_list));
}
void cheevos_set_menu_badge(int index, const char *badge, bool locked)
{
settings_t *settings = config_get_ptr();
if (index >= CHEEVOS_MENU_BADGE_LIMIT)
return;
if (!settings || !settings->bools.cheevos_badges_enable)
cheevos_badge_menu_texture_list[index] = 0;
else
cheevos_badge_menu_texture_list[index] =
cheevos_get_badge_texture(badge, locked);
}
uintptr_t cheevos_get_menu_badge_texture(int index)
{
if (index < CHEEVOS_MENU_BADGE_LIMIT)
return cheevos_badge_menu_texture_list[index];
return 0;
}
#endif
uintptr_t cheevos_get_badge_texture(const char *badge, bool locked)
{
char badge_file[24];
char fullpath[PATH_MAX_LENGTH];
uintptr_t tex = 0;
if (!badge)
return 0;
fullpath[0] = badge_file[0] = '\0';
strlcpy(badge_file, badge, sizeof(badge_file));
if (locked)
strlcat(badge_file, "_lock", sizeof(badge_file));
strlcat(badge_file, FILE_PATH_PNG_EXTENSION, sizeof(badge_file));
fill_pathname_application_special(fullpath, sizeof(fullpath),
APPLICATION_SPECIAL_DIRECTORY_THUMBNAILS_CHEEVOS_BADGES);
if (!gfx_display_reset_textures_list(badge_file, fullpath,
&tex, TEXTURE_FILTER_MIPMAP_LINEAR, NULL, NULL))
tex = 0;
return tex;
}
+960 -2245
View File
File diff suppressed because it is too large. Load diff
+8 -33
View File
@@ -21,64 +21,39 @@
#include <boolean.h>
#include "../verbosity.h"
#include <retro_common_api.h>
RETRO_BEGIN_DECLS
typedef struct rcheevos_ctx_desc
{
unsigned idx;
char *s;
size_t len;
} rcheevos_ctx_desc_t;
enum
{
RCHEEVOS_ACTIVE_SOFTCORE = 1 << 0,
RCHEEVOS_ACTIVE_HARDCORE = 1 << 1,
RCHEEVOS_ACTIVE_UNOFFICIAL = 1 << 2
};
bool rcheevos_load(const void *data);
size_t rcheevos_get_serialize_size(void);
bool rcheevos_get_serialized_data(void* buffer);
bool rcheevos_set_serialized_data(void* buffer);
void rcheevos_reset_game(bool widgets_ready);
void rcheevos_populate_menu(void* data);
void rcheevos_populate_hardcore_pause_menu(void* data);
void rcheevos_get_achievement_state(unsigned index, char* buffer, size_t buffer_size);
bool rcheevos_get_description(rcheevos_ctx_desc_t *desc);
void rcheevos_pause_hardcore(void);
bool rcheevos_unload(void);
void rcheevos_test(void);
void rcheevos_reset_game(bool widgets_ready);
void rcheevos_pause_hardcore(void);
void rcheevos_hardcore_enabled_changed(void);
void rcheevos_toggle_hardcore_paused(void);
bool rcheevos_hardcore_active(void);
void rcheevos_validate_config_settings(void);
void rcheevos_leaderboards_enabled_changed(void);
void rcheevos_test(void);
void rcheevos_set_support_cheevos(bool state);
bool rcheevos_get_support_cheevos(void);
const char* rcheevos_get_hash(void);
const char *rcheevos_get_richpresence(void);
int rcheevos_get_richpresence(char buffer[], int buffer_size);
uintptr_t rcheevos_get_badge_texture(const char *badge, bool locked);
uint8_t* rcheevos_patch_address(unsigned address);
bool rcheevos_hardcore_active(void);
RETRO_END_DECLS
#endif /* __RARCH_CHEEVOS_CHEEVOS_H */
File diff suppressed because it is too large. Load diff
+48
View File
@@ -0,0 +1,48 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2019-2021 - Brian Weiss
*
* 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_CLIENT_H
#define __RARCH_CHEEVOS_CLIENT_H
#include "cheevos_locals.h"
RETRO_BEGIN_DECLS
typedef void (*rcheevos_client_callback)(void* userdata);
void rcheevos_client_initialize(void);
void rcheevos_client_login_with_password(const char* username, const char* password,
rcheevos_client_callback callback, void* userdata);
void rcheevos_client_login_with_token(const char* username, const char* token,
rcheevos_client_callback callback, void* userdata);
void rcheevos_client_identify_game(const char* hash, rcheevos_client_callback callback, void* userdata);
void rcheevos_client_initialize_runtime(unsigned game_id, rcheevos_client_callback callback, void* userdata);
void rcheevos_client_start_session(unsigned game_id);
void rcheevos_client_award_achievement(unsigned achievement_id);
void rcheevos_client_submit_lboard_entry(unsigned leaderboard_id, int value);
void rcheevos_client_fetch_badges(rcheevos_client_callback callback, void* userdata);
void rcheevos_log_url(const char* api, const char* url);
void rcheevos_get_user_agent(rcheevos_locals_t *locals, char *buffer, size_t len);
RETRO_END_DECLS
#endif /* __RARCH_CHEEVOS_MENU_H */
+196
View File
@@ -0,0 +1,196 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2015-2018 - Andre Leiradella
* Copyright (C) 2019-2021 - Brian Weiss
*
* 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_LOCALS_H
#define __RARCH_CHEEVOS_LOCALS_H
#include "../deps/rcheevos/include/rc_runtime.h"
#include "../deps/rcheevos/src/rcheevos/rc_libretro.h"
#include <../command.h>
#include <../verbosity.h>
#include <boolean.h>
#include <queues/task_queue.h>
#ifdef HAVE_THREADS
#include <rthreads/rthreads.h>
#endif
#include <retro_common_api.h>
RETRO_BEGIN_DECLS
/************************************************************************
* Logging *
************************************************************************/
/* Define this macro to get extra-verbose log for cheevos. */
#define CHEEVOS_VERBOSE
#define RCHEEVOS_TAG "[RCHEEVOS]: "
#define CHEEVOS_FREE(p) do { void* q = (void*)p; if (q) free(q); } while (0)
#ifdef CHEEVOS_VERBOSE
#define CHEEVOS_LOG RARCH_LOG
#define CHEEVOS_ERR RARCH_ERR
#else
void rcheevos_log(const char *fmt, ...);
#define CHEEVOS_LOG rcheevos_log
#define CHEEVOS_ERR RARCH_ERR
#endif
/************************************************************************
* State *
************************************************************************/
enum
{
RCHEEVOS_ACTIVE_SOFTCORE = 1 << 0,
RCHEEVOS_ACTIVE_HARDCORE = 1 << 1,
RCHEEVOS_ACTIVE_UNOFFICIAL = 1 << 2,
RCHEEVOS_ACTIVE_UNSUPPORTED = 1 << 3
};
typedef struct rcheevos_racheevo_t
{
const char* title;
const char* description;
const char* badge;
const char* memaddr;
unsigned id;
unsigned points;
retro_time_t unlock_time;
uint8_t active;
#ifdef HAVE_MENU
uint8_t menu_bucket;
uint8_t menu_progress;
uint8_t menu_badge_grayscale;
uintptr_t menu_badge_texture;
#endif
} rcheevos_racheevo_t;
typedef struct rcheevos_ralboard_t
{
const char* title;
const char* description;
const char* mem;
unsigned id;
unsigned format;
} rcheevos_ralboard_t;
enum rcheevos_load_state
{
RCHEEVOS_LOAD_STATE_NONE,
RCHEEVOS_LOAD_STATE_IDENTIFYING_GAME,
RCHEEVOS_LOAD_STATE_FETCHING_GAME_DATA,
RCHEEVOS_LOAD_STATE_STARTING_SESSION,
RCHEEVOS_LOAD_STATE_FETCHING_BADGES,
RCHEEVOS_LOAD_STATE_DONE,
RCHEEVOS_LOAD_STATE_UNKNOWN_GAME,
RCHEEVOS_LOAD_STATE_NETWORK_ERROR,
RCHEEVOS_LOAD_STATE_LOGIN_FAILED,
RCHEEVOS_LOAD_STATE_ABORTED
};
typedef struct rcheevos_load_info_t
{
enum rcheevos_load_state state;
int hashes_tried;
int outstanding_requests;
#ifdef HAVE_THREADS
slock_t* request_lock;
#endif
} rcheevos_load_info_t;
typedef struct rcheevos_game_info_t
{
int id;
int console_id;
char* title;
char hash[33];
rcheevos_racheevo_t* achievements;
rcheevos_ralboard_t* leaderboards;
unsigned achievement_count;
unsigned leaderboard_count;
} rcheevos_game_info_t;
#ifdef HAVE_MENU
typedef struct rcheevos_menuitem_t
{
rcheevos_racheevo_t* cheevo;
enum msg_hash_enums state_label_idx;
} rcheevos_menuitem_t;
void rcheevos_menu_reset_badges(void);
#endif
typedef struct rcheevos_locals_t
{
rc_runtime_t runtime; /* rcheevos runtime state */
rcheevos_game_info_t game; /* information about the current game */
rc_libretro_memory_regions_t memory;/* achievement addresses to core memory mappings */
#ifdef HAVE_THREADS
enum event_command queued_command; /* action queued by background thread to be run on main thread */
#endif
char username[32]; /* case-corrected username */
char token[32]; /* user's session token */
char user_agent_prefix[128]; /* RetroArch/OS version information */
char user_agent_core[256]; /* RetroArch/OS/Core version information */
#ifdef HAVE_MENU
rcheevos_menuitem_t* menuitems; /* array of items for the achievements quick menu */
unsigned menuitem_capacity; /* maximum number of items in the menuitems array */
unsigned menuitem_count; /* current number of items in the menuitems array */
#endif
rcheevos_load_info_t load_info; /* load info */
bool hardcore_active; /* hardcore functionality is active */
bool loaded; /* load task has completed */
bool core_supports; /* false if core explicitly disables achievements */
bool leaderboards_enabled; /* leaderboards are enabled */
bool leaderboard_notifications; /* leaderboard notifications are enabled */
bool leaderboard_trackers; /* leaderboard trackers are enabled */
} rcheevos_locals_t;
rcheevos_locals_t* get_rcheevos_locals(void);
void rcheevos_begin_load_state(enum rcheevos_load_state state);
int rcheevos_end_load_state(void);
bool rcheevos_load_aborted(void);
#ifdef HAVE_THREADS
#define CHEEVOS_LOCK(l) do { slock_lock(l); } while (0)
#define CHEEVOS_UNLOCK(l) do { slock_unlock(l); } while (0)
#else
#define CHEEVOS_LOCK(l)
#define CHEEVOS_UNLOCK(l)
#endif
RETRO_END_DECLS
#endif /* __RARCH_CHEEVOS_LOCALS_H */
-352
View File
@@ -1,352 +0,0 @@
/* 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/>.
*/
#include "cheevos_memory.h"
#include "util.h"
#include "../retroarch.h"
#include "../verbosity.h"
#include "../deps/rcheevos/include/rcheevos.h"
#include <stdio.h>
uint8_t* rcheevos_memory_find(
const rcheevos_memory_regions_t* regions, unsigned address)
{
unsigned i;
for (i = 0; i < regions->count; ++i)
{
const size_t size = regions->size[i];
if (address < size)
{
if (regions->data[i] == NULL)
break;
return &regions->data[i][address];
}
address -= size;
}
return NULL;
}
static const char* rcheevos_memory_type(int type)
{
switch (type)
{
case RC_MEMORY_TYPE_SAVE_RAM:
return "SRAM";
case RC_MEMORY_TYPE_VIDEO_RAM:
return "VRAM";
case RC_MEMORY_TYPE_UNUSED:
return "UNUSED";
default:
break;
}
return "SYSTEM RAM";
}
static void rcheevos_memory_register_region(rcheevos_memory_regions_t* regions,
int type, uint8_t* data, size_t size, const char* description)
{
if (size == 0)
return;
if (regions->count == MAX_MEMORY_REGIONS)
{
CHEEVOS_LOG(RCHEEVOS_TAG "Too many memory memory regions to register\n");
return;
}
if (!data && regions->count > 0 && !regions->data[regions->count - 1])
{
/* extend null region */
regions->size[regions->count - 1] += size;
}
else if (data && regions->count > 0 &&
data == (regions->data[regions->count - 1] + regions->size[regions->count - 1]))
{
/* extend non-null region */
regions->size[regions->count - 1] += size;
}
else
{
/* create new region */
regions->data[regions->count] = data;
regions->size[regions->count] = size;
++regions->count;
}
regions->total_size += size;
CHEEVOS_LOG(RCHEEVOS_TAG "Registered 0x%04X bytes of %s at $%06X (%s)\n", (unsigned)size,
rcheevos_memory_type(type), (unsigned)(regions->total_size - size), description);
}
static void rcheevos_memory_init_without_regions(
rcheevos_memory_regions_t* regions)
{
/* no regions specified, assume system RAM followed by save RAM */
char description[64];
retro_ctx_memory_info_t meminfo;
snprintf(description, sizeof(description), "offset 0x%06x", 0);
meminfo.id = RETRO_MEMORY_SYSTEM_RAM;
core_get_memory(&meminfo);
rcheevos_memory_register_region(regions, RC_MEMORY_TYPE_SYSTEM_RAM, (uint8_t*)meminfo.data, meminfo.size, description);
meminfo.id = RETRO_MEMORY_SAVE_RAM;
core_get_memory(&meminfo);
rcheevos_memory_register_region(regions, RC_MEMORY_TYPE_SAVE_RAM, (uint8_t*)meminfo.data, meminfo.size, description);
}
static const rarch_memory_descriptor_t* rcheevos_memory_get_descriptor(const rarch_memory_map_t* mmap, unsigned real_address)
{
const rarch_memory_descriptor_t* desc = mmap->descriptors;
const rarch_memory_descriptor_t* end = desc + mmap->num_descriptors;
if (mmap->num_descriptors == 0)
return NULL;
for (; desc < end; desc++)
{
if (desc->core.select == 0)
{
/* if select is 0, attempt to explcitly match the address */
if (real_address >= desc->core.start && real_address < desc->core.start + desc->core.len)
return desc;
}
else
{
/* otherwise, attempt to match the address by matching the select bits */
if (((desc->core.start ^ real_address) & desc->core.select) == 0)
{
/* sanity check - make sure the descriptor is large enough to hold the target address */
if (real_address - desc->core.start < desc->core.len)
return desc;
}
}
}
return NULL;
}
void rcheevos_memory_init_from_memory_map(rcheevos_memory_regions_t* regions, const rarch_memory_map_t* mmap, const rc_memory_regions_t* console_regions)
{
char description[64];
unsigned i;
uint8_t* region_start;
uint8_t* desc_start;
size_t desc_size;
size_t offset;
for (i = 0; i < console_regions->num_regions; ++i)
{
const rc_memory_region_t* console_region = &console_regions->region[i];
size_t console_region_size = console_region->end_address - console_region->start_address + 1;
unsigned real_address = console_region->real_address;
while (console_region_size > 0)
{
const rarch_memory_descriptor_t* desc = rcheevos_memory_get_descriptor(mmap, real_address);
if (!desc)
{
if (console_region->type != RC_MEMORY_TYPE_UNUSED)
{
CHEEVOS_LOG(RCHEEVOS_TAG "Could not map region starting at $%06X\n",
real_address - console_region->real_address + console_region->start_address);
}
rcheevos_memory_register_region(regions, console_region->type, NULL, console_region_size, "null filler");
break;
}
offset = real_address - desc->core.start;
snprintf(description, sizeof(description),
"descriptor %u, offset 0x%06X",
(int)(desc - mmap->descriptors) + 1, (int)offset);
if (desc->core.ptr)
{
desc_start = (uint8_t*)desc->core.ptr + desc->core.offset;
region_start = desc_start + offset;
}
else
region_start = NULL;
desc_size = desc->core.len - offset;
if (console_region_size > desc_size)
{
if (desc_size == 0)
{
if (console_region->type != RC_MEMORY_TYPE_UNUSED)
{
CHEEVOS_LOG(RCHEEVOS_TAG "Could not map region starting at $%06X\n",
real_address - console_region->real_address + console_region->start_address);
}
rcheevos_memory_register_region(regions, console_region->type, NULL, console_region_size, "null filler");
console_region_size = 0;
}
else
{
rcheevos_memory_register_region(regions, console_region->type, region_start, desc_size, description);
console_region_size -= desc_size;
real_address += desc_size;
}
}
else
{
rcheevos_memory_register_region(regions, console_region->type, region_start, console_region_size, description);
console_region_size = 0;
}
}
}
}
static unsigned rcheevos_memory_console_region_to_ram_type(int region_type)
{
switch (region_type)
{
case RC_MEMORY_TYPE_SAVE_RAM:
return RETRO_MEMORY_SAVE_RAM;
case RC_MEMORY_TYPE_VIDEO_RAM:
return RETRO_MEMORY_VIDEO_RAM;
default:
break;
}
return RETRO_MEMORY_SYSTEM_RAM;
}
static void rcheevos_memory_init_from_unmapped_memory(rcheevos_memory_regions_t* regions, const rc_memory_regions_t* console_regions, int console)
{
char description[64];
unsigned i;
for (i = 0; i < console_regions->num_regions; ++i)
{
size_t offset;
unsigned j;
retro_ctx_memory_info_t meminfo;
const rc_memory_region_t* console_region = &console_regions->region[i];
const size_t console_region_size =
console_region->end_address - console_region->start_address + 1;
unsigned base_address = 0;
meminfo.id = rcheevos_memory_console_region_to_ram_type(console_region->type);
for (j = 0; j <= i; ++j)
{
const rc_memory_region_t* console_region2 = &console_regions->region[j];
if (rcheevos_memory_console_region_to_ram_type(
console_region2->type) == meminfo.id)
{
base_address = console_region2->start_address;
break;
}
}
offset = console_region->start_address - base_address;
core_get_memory(&meminfo);
if (offset < meminfo.size)
{
meminfo.size -= offset;
if (meminfo.data)
{
snprintf(description, sizeof(description),
"offset 0x%06X", (int)offset);
meminfo.data = (uint8_t*)meminfo.data + offset;
}
else
snprintf(description, sizeof(description), "null filler");
}
else
{
if (console_region->type != RC_MEMORY_TYPE_UNUSED)
{
CHEEVOS_LOG(RCHEEVOS_TAG "Could not map region starting at $%06X\n", console_region->start_address);
}
meminfo.data = NULL;
meminfo.size = 0;
}
if (console_region_size > meminfo.size)
{
/* want more than what is available, take what we can and null fill the rest */
rcheevos_memory_register_region(regions, console_region->type, (uint8_t*)meminfo.data, meminfo.size, description);
rcheevos_memory_register_region(regions, console_region->type, NULL, console_region_size - meminfo.size, "null filler");
}
else
{
/* only take as much as we need */
rcheevos_memory_register_region(regions, console_region->type, (uint8_t*)meminfo.data, console_region_size, description);
}
}
}
void rcheevos_memory_destroy(rcheevos_memory_regions_t* regions)
{
memset(regions, 0, sizeof(*regions));
}
bool rcheevos_memory_init(rcheevos_memory_regions_t* regions, int console)
{
unsigned i;
const rc_memory_regions_t* console_regions = rc_console_memory_regions(console);
rcheevos_memory_regions_t new_regions;
bool has_valid_region = false;
if (!regions)
return false;
memset(&new_regions, 0, sizeof(new_regions));
if (console_regions == NULL || console_regions->num_regions == 0)
{
rcheevos_memory_init_without_regions(&new_regions);
}
else
{
rarch_system_info_t* system = runloop_get_system_info();
if (system->mmaps.num_descriptors != 0)
rcheevos_memory_init_from_memory_map(&new_regions, &system->mmaps, console_regions);
else
rcheevos_memory_init_from_unmapped_memory(&new_regions, console_regions, console);
}
/* determine if any valid regions were found */
for (i = 0; i < new_regions.count; i++)
{
if (new_regions.data[i])
{
has_valid_region = true;
break;
}
}
memcpy(regions, &new_regions, sizeof(*regions));
return has_valid_region;
}
+667
View File
@@ -0,0 +1,667 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2019-2021 - Brian Weiss
*
* 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 "cheevos_locals.h"
#include "../gfx/gfx_display.h"
#ifdef HAVE_MENU
#include "cheevos.h"
#include "../deps/rcheevos/include/rc_runtime_types.h"
#include "../file_path_special.h"
#include "../menu/menu_driver.h"
#include "../menu/menu_entries.h"
#include <features/features_cpu.h>
enum rcheevos_menuitem_bucket
{
RCHEEVOS_MENUITEM_BUCKET_UNKNOWN = 0,
RCHEEVOS_MENUITEM_BUCKET_LOCKED,
RCHEEVOS_MENUITEM_BUCKET_UNLOCKED,
RCHEEVOS_MENUITEM_BUCKET_UNSUPPORTED,
RCHEEVOS_MENUITEM_BUCKET_UNOFFICIAL,
RCHEEVOS_MENUITEM_BUCKET_RECENTLY_UNLOCKED,
RCHEEVOS_MENUITEM_BUCKET_ACTIVE_CHALLENGE,
RCHEEVOS_MENUITEM_BUCKET_ALMOST_THERE
};
static void rcheevos_menu_update_bucket(rcheevos_racheevo_t* cheevo)
{
cheevo->menu_progress = 0;
if (cheevo->active & RCHEEVOS_ACTIVE_UNSUPPORTED)
{
/* non-active unsupported achievement */
cheevo->menu_bucket = RCHEEVOS_MENUITEM_BUCKET_UNSUPPORTED;
}
else if (!(cheevo->active & RCHEEVOS_ACTIVE_HARDCORE))
{
/* non-active unlocked in hardcore achievement */
cheevo->menu_bucket = RCHEEVOS_MENUITEM_BUCKET_UNLOCKED;
}
else
{
const rcheevos_locals_t* rcheevos_locals = get_rcheevos_locals();
rc_trigger_t* trigger;
if (!rcheevos_locals->hardcore_active && !(cheevo->active & RCHEEVOS_ACTIVE_SOFTCORE))
{
/* non-active unlocked in softcore achievement in softcore mode */
cheevo->menu_bucket = RCHEEVOS_MENUITEM_BUCKET_UNLOCKED;
return;
}
/* active achievement */
if (cheevo->active & RCHEEVOS_ACTIVE_UNOFFICIAL)
cheevo->menu_bucket = RCHEEVOS_MENUITEM_BUCKET_UNOFFICIAL;
else
cheevo->menu_bucket = RCHEEVOS_MENUITEM_BUCKET_LOCKED;
trigger = rc_runtime_get_achievement(&rcheevos_locals->runtime, cheevo->id);
if (trigger)
{
if (trigger->measured_value && trigger->measured_target)
{
const unsigned long clamped_value = (unsigned long)
MIN(trigger->measured_value, trigger->measured_target);
cheevo->menu_progress =
(uint8_t)((clamped_value * 100) / trigger->measured_target);
}
if (trigger->state == RC_TRIGGER_STATE_PRIMED)
cheevo->menu_bucket = RCHEEVOS_MENUITEM_BUCKET_ACTIVE_CHALLENGE;
else if (cheevo->menu_progress >= 80)
cheevo->menu_bucket = RCHEEVOS_MENUITEM_BUCKET_ALMOST_THERE;
}
}
}
static void rcheevos_menu_update_buckets(void)
{
const rcheevos_locals_t* rcheevos_locals = get_rcheevos_locals();
rcheevos_racheevo_t* cheevo = rcheevos_locals->game.achievements;
rcheevos_racheevo_t* stop = cheevo + rcheevos_locals->game.achievement_count;
while (cheevo < stop)
{
rcheevos_menu_update_bucket(cheevo);
++cheevo;
}
}
bool rcheevos_menu_get_state(unsigned menu_offset, char *buffer, size_t len)
{
const rcheevos_locals_t* rcheevos_locals = get_rcheevos_locals();
if (menu_offset < rcheevos_locals->menuitem_count)
{
const rcheevos_menuitem_t* menuitem = &rcheevos_locals->menuitems[menu_offset];
const rcheevos_racheevo_t* cheevo = menuitem->cheevo;
if (cheevo)
{
if (cheevo->menu_progress)
snprintf(buffer, len, "%s - %d%%",
msg_hash_to_str(menuitem->state_label_idx),
cheevo->menu_progress);
else
strlcpy(buffer, msg_hash_to_str(menuitem->state_label_idx), len);
return true;
}
}
if (buffer)
buffer[0] = '\0';
return false;
}
bool rcheevos_menu_get_sublabel(unsigned menu_offset, char *buffer, size_t len)
{
const rcheevos_locals_t* rcheevos_locals = get_rcheevos_locals();
if (menu_offset < rcheevos_locals->menuitem_count)
{
const rcheevos_racheevo_t* cheevo = rcheevos_locals->menuitems[menu_offset].cheevo;
if (cheevo && buffer)
{
strlcpy(buffer, cheevo->description, len);
return true;
}
}
if (buffer)
buffer[0] = '\0';
return false;
}
void rcheevos_menu_reset_badges(void)
{
const rcheevos_locals_t* rcheevos_locals = get_rcheevos_locals();
rcheevos_racheevo_t* cheevo = rcheevos_locals->game.achievements;
rcheevos_racheevo_t* stop = cheevo + rcheevos_locals->game.achievement_count;
while (cheevo < stop)
{
if (cheevo->menu_badge_texture)
video_driver_texture_unload(&cheevo->menu_badge_texture);
++cheevo;
}
}
static rcheevos_menuitem_t* rcheevos_menu_allocate(
rcheevos_locals_t* rcheevos_locals, rcheevos_racheevo_t* cheevo)
{
rcheevos_menuitem_t* menuitem;
if (rcheevos_locals->menuitem_count == rcheevos_locals->menuitem_capacity)
{
if (rcheevos_locals->menuitems)
{
rcheevos_menuitem_t* new_menuitems;
rcheevos_locals->menuitem_capacity += 32;
new_menuitems = (rcheevos_menuitem_t*)realloc(rcheevos_locals->menuitems,
rcheevos_locals->menuitem_capacity * sizeof(rcheevos_menuitem_t));
if (new_menuitems)
rcheevos_locals->menuitems = new_menuitems;
else
{
/* realloc failed */
CHEEVOS_ERR(RCHEEVOS_TAG " could not allocate space for %u menu items\n",
rcheevos_locals->menuitem_capacity);
rcheevos_locals->menuitem_capacity -= 32;
return NULL;
}
}
else
{
rcheevos_locals->menuitem_capacity = 64;
rcheevos_locals->menuitems = (rcheevos_menuitem_t*)
malloc(rcheevos_locals->menuitem_capacity * sizeof(rcheevos_menuitem_t));
if (!rcheevos_locals->menuitems)
{
/* malloc failed */
CHEEVOS_ERR(RCHEEVOS_TAG " could not allocate space for %u menu items\n",
rcheevos_locals->menuitem_capacity);
rcheevos_locals->menuitem_capacity = 0;
return NULL;
}
}
}
menuitem = &rcheevos_locals->menuitems[rcheevos_locals->menuitem_count++];
menuitem->cheevo = cheevo;
menuitem->state_label_idx = MSG_UNKNOWN;
return menuitem;
}
static void rcheevos_menu_append_header(rcheevos_locals_t* rcheevos_locals,
enum msg_hash_enums label)
{
rcheevos_menuitem_t* menuitem = rcheevos_menu_allocate(rcheevos_locals, NULL);
if (menuitem)
menuitem->state_label_idx = label;
}
static void rcheevos_menu_update_badge(rcheevos_racheevo_t* cheevo)
{
bool badge_grayscale = false;
switch (cheevo->menu_bucket)
{
case RCHEEVOS_MENUITEM_BUCKET_LOCKED:
case RCHEEVOS_MENUITEM_BUCKET_UNOFFICIAL:
case RCHEEVOS_MENUITEM_BUCKET_UNSUPPORTED:
case RCHEEVOS_MENUITEM_BUCKET_ALMOST_THERE:
case RCHEEVOS_MENUITEM_BUCKET_ACTIVE_CHALLENGE:
badge_grayscale = true;
break;
default:
badge_grayscale = false;
break;
}
if (!cheevo->menu_badge_texture || cheevo->menu_badge_grayscale != badge_grayscale)
{
uintptr_t new_badge_texture =
rcheevos_get_badge_texture(cheevo->badge, badge_grayscale);
if (new_badge_texture)
{
if (cheevo->menu_badge_texture)
video_driver_texture_unload(&cheevo->menu_badge_texture);
cheevo->menu_badge_texture = new_badge_texture;
cheevo->menu_badge_grayscale = badge_grayscale;
}
/* menu_badge_grayscale is overloaded such that any value greater than 1 indicates
* the server default image is being used */
else if (cheevo->menu_badge_grayscale < 2)
{
if (cheevo->menu_badge_texture)
video_driver_texture_unload(&cheevo->menu_badge_texture);
/* requested badge is not available, check for server default */
cheevo->menu_badge_texture =
rcheevos_get_badge_texture("00000", false);
if (cheevo->menu_badge_texture)
cheevo->menu_badge_grayscale = 2;
}
}
}
static void rcheevos_menu_append_items(rcheevos_locals_t* rcheevos_locals,
enum rcheevos_menuitem_bucket bucket)
{
const settings_t *settings = config_get_ptr();
rcheevos_racheevo_t* cheevo = rcheevos_locals->game.achievements;
rcheevos_racheevo_t* stop = cheevo + rcheevos_locals->game.achievement_count;
const unsigned first_index = rcheevos_locals->menuitem_count;
while (cheevo < stop)
{
if (cheevo->menu_bucket == bucket)
{
rcheevos_menuitem_t* menuitem = rcheevos_menu_allocate(rcheevos_locals, cheevo);
if (!menuitem)
return;
switch (cheevo->menu_bucket)
{
case RCHEEVOS_MENUITEM_BUCKET_UNSUPPORTED:
menuitem->state_label_idx = MENU_ENUM_LABEL_VALUE_CHEEVOS_UNSUPPORTED_ENTRY;
break;
case RCHEEVOS_MENUITEM_BUCKET_RECENTLY_UNLOCKED:
{
/* insert the item such that the unlock times are descending */
unsigned entry_index = rcheevos_locals->menuitem_count - 1;
while (entry_index > first_index)
{
rcheevos_menuitem_t* prev_menuitem = menuitem - 1;
if (prev_menuitem->cheevo->unlock_time >= cheevo->unlock_time)
break;
memcpy(menuitem, prev_menuitem, sizeof(rcheevos_menuitem_t));
menuitem = prev_menuitem;
--entry_index;
}
menuitem->cheevo = cheevo;
}
/* fallthrough to RCHEEVOS_MENUITEM_BUCKET_UNLOCKED */
case RCHEEVOS_MENUITEM_BUCKET_UNLOCKED:
if (!(cheevo->active & RCHEEVOS_ACTIVE_HARDCORE))
menuitem->state_label_idx = MENU_ENUM_LABEL_VALUE_CHEEVOS_UNLOCKED_ENTRY_HARDCORE;
else
menuitem->state_label_idx = MENU_ENUM_LABEL_VALUE_CHEEVOS_UNLOCKED_ENTRY;
break;
case RCHEEVOS_MENUITEM_BUCKET_ALMOST_THERE:
{
/* insert the item such that the progresses are descending */
unsigned entry_index = rcheevos_locals->menuitem_count - 1;
while (entry_index > first_index)
{
rcheevos_menuitem_t* prev_menuitem = menuitem - 1;
if (prev_menuitem->cheevo->menu_progress >= cheevo->menu_progress)
break;
memcpy(menuitem, prev_menuitem, sizeof(rcheevos_menuitem_t));
menuitem = prev_menuitem;
--entry_index;
}
menuitem->cheevo = cheevo;
}
/* fallthrough to default */
default:
if (cheevo->active & RCHEEVOS_ACTIVE_UNOFFICIAL)
menuitem->state_label_idx = MENU_ENUM_LABEL_VALUE_CHEEVOS_UNOFFICIAL_ENTRY;
else if (!(cheevo->active & RCHEEVOS_ACTIVE_SOFTCORE))
menuitem->state_label_idx = MENU_ENUM_LABEL_VALUE_CHEEVOS_UNLOCKED_ENTRY;
else
menuitem->state_label_idx = MENU_ENUM_LABEL_VALUE_CHEEVOS_LOCKED_ENTRY;
break;
}
if (cheevo->badge && cheevo->badge[0] && settings &&
settings->bools.cheevos_badges_enable)
rcheevos_menu_update_badge(cheevo);
}
++cheevo;
}
}
uintptr_t rcheevos_menu_get_badge_texture(unsigned menu_offset)
{
const rcheevos_locals_t* rcheevos_locals = get_rcheevos_locals();
if (menu_offset < rcheevos_locals->menuitem_count)
{
rcheevos_racheevo_t* cheevo = rcheevos_locals->menuitems[menu_offset].cheevo;
if (cheevo)
{
/* if we're using the placeholder badge, check to see if the real badge
* has become available (do this roughly once a second) */
if (cheevo->menu_badge_grayscale >= 2)
{
if (++cheevo->menu_badge_grayscale == 64)
{
cheevo->menu_badge_grayscale = 2;
rcheevos_menu_update_badge(cheevo);
}
}
return cheevo->menu_badge_texture;
}
}
return 0;
}
void rcheevos_menu_populate_hardcore_pause_submenu(void* data)
{
const rcheevos_locals_t* rcheevos_locals = get_rcheevos_locals();
menu_displaylist_info_t* info = (menu_displaylist_info_t*)data;
const settings_t* settings = config_get_ptr();
const bool cheevos_hardcore_mode_enable = settings->bools.cheevos_hardcore_mode_enable;
if (cheevos_hardcore_mode_enable && rcheevos_locals->loaded)
{
if (rcheevos_locals->hardcore_active)
{
menu_entries_append_enum(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACHIEVEMENT_PAUSE_CANCEL),
msg_hash_to_str(MENU_ENUM_SUBLABEL_ACHIEVEMENT_PAUSE_CANCEL),
MENU_ENUM_LABEL_ACHIEVEMENT_PAUSE_CANCEL,
MENU_SETTING_ACTION_CLOSE, 0, 0);
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_CANCEL),
msg_hash_to_str(MENU_ENUM_SUBLABEL_ACHIEVEMENT_RESUME_CANCEL),
MENU_ENUM_LABEL_ACHIEVEMENT_RESUME_CANCEL,
MENU_SETTING_ACTION_CLOSE, 0, 0);
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);
}
}
}
void rcheevos_menu_populate(void* data)
{
menu_displaylist_info_t* info = (menu_displaylist_info_t*)data;
rcheevos_locals_t* rcheevos_locals = get_rcheevos_locals();
const settings_t* settings = config_get_ptr();
unsigned num_locked = 0;
unsigned num_unlocked = 0;
unsigned num_recently_unlocked = 0;
unsigned num_unsupported = 0;
unsigned num_active_challenges = 0;
unsigned num_almost_there = 0;
if (rcheevos_locals->loaded)
{
const retro_time_t now = cpu_features_get_time_usec();
const retro_time_t recent_unlock_time = now - (10 * 60 * 1000000); /* 10 minutes ago */
rcheevos_racheevo_t* cheevo = NULL;
rcheevos_racheevo_t* stop = NULL;
/* first menu item is the Pause/Resume Hardcore option (unless hardcore is disabled) */
if (settings->bools.cheevos_enable && settings->bools.cheevos_hardcore_mode_enable)
{
if (rcheevos_locals->hardcore_active)
menu_entries_append_enum(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACHIEVEMENT_PAUSE),
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACHIEVEMENT_PAUSE_MENU),
MENU_ENUM_LABEL_ACHIEVEMENT_PAUSE_MENU,
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_VALUE_ACHIEVEMENT_PAUSE_MENU),
MENU_ENUM_LABEL_ACHIEVEMENT_PAUSE_MENU,
MENU_SETTING_ACTION_RESUME_ACHIEVEMENTS, 0, 0);
}
/* update the bucket for each achievement */
rcheevos_menu_update_buckets();
/* count items in each bucket */
cheevo = rcheevos_locals->game.achievements;
stop = cheevo + rcheevos_locals->game.achievement_count;
while (cheevo < stop)
{
switch (cheevo->menu_bucket)
{
case RCHEEVOS_MENUITEM_BUCKET_UNLOCKED:
if (cheevo->unlock_time && cheevo->unlock_time >= recent_unlock_time)
{
cheevo->menu_bucket = RCHEEVOS_MENUITEM_BUCKET_RECENTLY_UNLOCKED;
++num_recently_unlocked;
}
else
++num_unlocked;
break;
case RCHEEVOS_MENUITEM_BUCKET_LOCKED:
case RCHEEVOS_MENUITEM_BUCKET_UNOFFICIAL:
++num_locked;
break;
case RCHEEVOS_MENUITEM_BUCKET_UNSUPPORTED:
++num_unsupported;
break;
case RCHEEVOS_MENUITEM_BUCKET_ACTIVE_CHALLENGE:
++num_active_challenges;
break;
case RCHEEVOS_MENUITEM_BUCKET_ALMOST_THERE:
++num_almost_there;
break;
}
++cheevo;
}
if (!rcheevos_locals->menuitems)
{
/* reserve space for all achievements and up to 6 headers before we need to realloc */
rcheevos_locals->menuitem_capacity = rcheevos_locals->game.achievement_count + 6;
rcheevos_locals->menuitems = (rcheevos_menuitem_t*)
malloc(rcheevos_locals->menuitem_capacity * sizeof(rcheevos_menuitem_t));
if (!rcheevos_locals->menuitems)
rcheevos_locals->menuitem_capacity = 0;
}
}
/* reset menu */
rcheevos_locals->menuitem_count = 0;
/* active challenges */
if (num_active_challenges)
{
rcheevos_menu_append_header(rcheevos_locals,
MENU_ENUM_LABEL_VALUE_CHEEVOS_ACTIVE_CHALLENGES_ENTRY);
rcheevos_menu_append_items(rcheevos_locals,
RCHEEVOS_MENUITEM_BUCKET_ACTIVE_CHALLENGE);
}
/* recently unlocked */
if (num_recently_unlocked)
{
rcheevos_menu_append_header(rcheevos_locals,
MENU_ENUM_LABEL_VALUE_CHEEVOS_RECENTLY_UNLOCKED_ENTRY);
rcheevos_menu_append_items(rcheevos_locals,
RCHEEVOS_MENUITEM_BUCKET_RECENTLY_UNLOCKED);
}
/* almost there */
if (num_almost_there)
{
rcheevos_menu_append_header(rcheevos_locals,
MENU_ENUM_LABEL_VALUE_CHEEVOS_ALMOST_THERE_ENTRY);
rcheevos_menu_append_items(rcheevos_locals,
RCHEEVOS_MENUITEM_BUCKET_ALMOST_THERE);
}
/* locked */
if (num_locked)
{
if (rcheevos_locals->menuitem_count > 0)
rcheevos_menu_append_header(rcheevos_locals,
MENU_ENUM_LABEL_VALUE_CHEEVOS_LOCKED_ENTRY);
rcheevos_menu_append_items(rcheevos_locals,
RCHEEVOS_MENUITEM_BUCKET_LOCKED);
rcheevos_menu_append_items(rcheevos_locals,
RCHEEVOS_MENUITEM_BUCKET_UNOFFICIAL);
}
/* unsupported */
if (num_unsupported)
{
if (rcheevos_locals->menuitem_count > 0)
rcheevos_menu_append_header(rcheevos_locals,
MENU_ENUM_LABEL_VALUE_CHEEVOS_UNSUPPORTED_ENTRY);
rcheevos_menu_append_items(rcheevos_locals,
RCHEEVOS_MENUITEM_BUCKET_UNSUPPORTED);
}
/* unlocked */
if (num_unlocked)
{
if (rcheevos_locals->menuitem_count > 0)
rcheevos_menu_append_header(rcheevos_locals,
MENU_ENUM_LABEL_VALUE_CHEEVOS_UNLOCKED_ENTRY);
rcheevos_menu_append_items(rcheevos_locals,
RCHEEVOS_MENUITEM_BUCKET_UNLOCKED);
}
if (rcheevos_locals->menuitem_count > 0)
{
char buffer[128];
unsigned idx = 0;
/* convert to menu entries */
rcheevos_menuitem_t* menuitem = rcheevos_locals->menuitems;
rcheevos_menuitem_t* stop = menuitem +
rcheevos_locals->menuitem_count;
do
{
if (menuitem->cheevo)
menu_entries_append_enum(info->list, menuitem->cheevo->title,
menuitem->cheevo->description,
MENU_ENUM_LABEL_CHEEVOS_LOCKED_ENTRY,
MENU_SETTINGS_CHEEVOS_START + idx, 0, 0);
else
{
snprintf(buffer, sizeof(buffer), "----- %s -----",
msg_hash_to_str(menuitem->state_label_idx));
menu_entries_append_enum(info->list, buffer, "",
MENU_ENUM_LABEL_CHEEVOS_LOCKED_ENTRY,
MENU_SETTINGS_CHEEVOS_START + idx, 0, 0);
}
++idx;
++menuitem;
} while (menuitem != stop);
}
else
{
/* no achievements found */
if (!rcheevos_locals->core_supports)
menu_entries_append_enum(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CANNOT_ACTIVATE_ACHIEVEMENTS_WITH_THIS_CORE),
msg_hash_to_str(MENU_ENUM_LABEL_CANNOT_ACTIVATE_ACHIEVEMENTS_WITH_THIS_CORE),
MENU_ENUM_LABEL_CANNOT_ACTIVATE_ACHIEVEMENTS_WITH_THIS_CORE,
FILE_TYPE_NONE, 0, 0);
else if (rcheevos_locals->load_info.state == RCHEEVOS_LOAD_STATE_NETWORK_ERROR)
menu_entries_append_enum(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NETWORK_ERROR),
msg_hash_to_str(MENU_ENUM_LABEL_NETWORK_ERROR),
MENU_ENUM_LABEL_NETWORK_ERROR,
FILE_TYPE_NONE, 0, 0);
else if (!rcheevos_locals->game.id)
menu_entries_append_enum(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_UNKNOWN_GAME),
msg_hash_to_str(MENU_ENUM_LABEL_UNKNOWN_GAME),
MENU_ENUM_LABEL_UNKNOWN_GAME,
FILE_TYPE_NONE, 0, 0);
else if (!rcheevos_locals->token[0])
menu_entries_append_enum(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NOT_LOGGED_IN),
msg_hash_to_str(MENU_ENUM_LABEL_NOT_LOGGED_IN),
MENU_ENUM_LABEL_NOT_LOGGED_IN,
FILE_TYPE_NONE, 0, 0);
else
menu_entries_append_enum(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_ACHIEVEMENTS_TO_DISPLAY),
msg_hash_to_str(MENU_ENUM_LABEL_NO_ACHIEVEMENTS_TO_DISPLAY),
MENU_ENUM_LABEL_NO_ACHIEVEMENTS_TO_DISPLAY,
FILE_TYPE_NONE, 0, 0);
}
}
#endif /* HAVE_MENU */
uintptr_t rcheevos_get_badge_texture(const char *badge, bool locked)
{
char badge_file[24];
char fullpath[PATH_MAX_LENGTH];
uintptr_t tex = 0;
if (!badge)
return 0;
snprintf(badge_file, sizeof(badge_file), "%s%s%s", badge,
locked ? "_lock" : "", FILE_PATH_PNG_EXTENSION);
fill_pathname_application_special(fullpath, sizeof(fullpath),
APPLICATION_SPECIAL_DIRECTORY_THUMBNAILS_CHEEVOS_BADGES);
if (!gfx_display_reset_textures_list(badge_file, fullpath,
&tex, TEXTURE_FILTER_MIPMAP_LINEAR, NULL, NULL))
return 0;
return tex;
}
@@ -1,5 +1,6 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2015-2018 - Andre Leiradella
* Copyright (C) 2019-2021 - Brian Weiss
*
* 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-
@@ -12,33 +13,29 @@
* 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_MEMORY_H
#define __RARCH_CHEEVOS_MEMORY_H
#ifndef __RARCH_CHEEVOS_MENU_H
#define __RARCH_CHEEVOS_MENU_H
#ifdef HAVE_MENU
#include <stdint.h>
#include <stdlib.h>
#include <boolean.h>
#include <retro_common_api.h>
RETRO_BEGIN_DECLS
#define MAX_MEMORY_REGIONS 32
typedef struct
{
uint8_t* data[MAX_MEMORY_REGIONS];
size_t size[MAX_MEMORY_REGIONS];
size_t total_size;
unsigned count;
} rcheevos_memory_regions_t;
bool rcheevos_memory_init(rcheevos_memory_regions_t* regions, int console);
void rcheevos_memory_destroy(rcheevos_memory_regions_t* regions);
uint8_t* rcheevos_memory_find(const rcheevos_memory_regions_t* regions,
unsigned address);
void rcheevos_menu_populate(void* data);
void rcheevos_menu_populate_hardcore_pause_submenu(void* data);
bool rcheevos_menu_get_state(unsigned menu_offset, char* buffer, size_t buffer_size);
bool rcheevos_menu_get_sublabel(unsigned menu_offset, char* buffer, size_t buffer_size);
uintptr_t rcheevos_menu_get_badge_texture(unsigned menu_offset);
RETRO_END_DECLS
#endif
#endif /* HAVE_MENU */
#endif /* __RARCH_CHEEVOS_MENU_H */
-689
View File
@@ -1,689 +0,0 @@
#include "cheevos_parser.h"
#include "util.h"
#include <encodings/utf.h>
#include <formats/rjson.h>
#include <string/stdstring.h>
#include <compat/strl.h>
#include "../deps/rcheevos/include/rcheevos.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_RICHPRESENCE 0xf18dd230U
#define CHEEVOS_JSON_KEY_MEM 0x0b8807e4U
#define CHEEVOS_JSON_KEY_FORMAT 0xb341208eU
#define CHEEVOS_JSON_KEY_SUCCESS 0x110461deU
#define CHEEVOS_JSON_KEY_ERROR 0x0d2011cfU
typedef struct
{
char* value;
int is_key;
size_t length;
unsigned key_hash;
} rcheevos_getvalueud_t;
#define CHEEVOS_RJSON_OPTIONS \
/* Inside the field RichPresencePatch newlines are
* encoded as '\r\n'. This will filter the \r out. */ \
RJSON_OPTION_IGNORE_STRING_CARRIAGE_RETURN \
/* This matches the behavior of the previously used
* json parser. It is probably not required */ \
| RJSON_OPTION_ALLOW_TRAILING_DATA
/*****************************************************************************
Gets a value in a JSON
*****************************************************************************/
static uint32_t rcheevos_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;
}
static bool rcheevos_getvalue_key(void* userdata,
const char* name, size_t length)
{
rcheevos_getvalueud_t* ud = (rcheevos_getvalueud_t*)userdata;
ud->is_key = rcheevos_djb2(name, length) == ud->key_hash;
return true;
}
static bool rcheevos_getvalue_string(void* userdata,
const char* string, size_t length)
{
rcheevos_getvalueud_t* ud = (rcheevos_getvalueud_t*)userdata;
if (ud->is_key && ud->length > length)
{
strlcpy(ud->value, string, ud->length);
ud->is_key = 2;
return false;
}
return true;
}
static bool rcheevos_getvalue_boolean(void* userdata, bool istrue)
{
rcheevos_getvalueud_t* ud = (rcheevos_getvalueud_t*)userdata;
if (ud->is_key)
{
if (istrue && ud->length > 4)
{
strlcpy(ud->value, "true", ud->length);
ud->is_key = 2;
return false;
}
if (!istrue && ud->length > 5)
{
strlcpy(ud->value, "false", ud->length);
ud->is_key = 2;
return false;
}
}
return true;
}
static bool rcheevos_getvalue_null(void* userdata)
{
rcheevos_getvalueud_t* ud = (rcheevos_getvalueud_t*)userdata;
if (ud->is_key && ud->length > 4)
{
strlcpy(ud->value, "null", ud->length);
ud->is_key = 2;
return false;
}
return true;
}
static int rcheevos_get_value(const char* json, unsigned key_hash,
char* value, size_t length)
{
rcheevos_getvalueud_t ud;
ud.key_hash = key_hash;
ud.is_key = 0;
ud.value = value;
ud.length = length;
*value = 0;
rjson_parse_quick(json, &ud, CHEEVOS_RJSON_OPTIONS,
rcheevos_getvalue_key,
rcheevos_getvalue_string,
rcheevos_getvalue_string, /* number */
NULL, NULL, NULL, NULL,
rcheevos_getvalue_boolean,
rcheevos_getvalue_null, NULL);
return (ud.is_key == 2 ? 0 : -1);
}
/*****************************************************************************
Returns the token or the error message
*****************************************************************************/
int rcheevos_get_token(const char* json, char* token, size_t length)
{
rcheevos_get_value(json, CHEEVOS_JSON_KEY_ERROR, token, length);
if (!string_is_empty(token))
return -1;
return rcheevos_get_value(json, CHEEVOS_JSON_KEY_TOKEN, token, length);
}
int rcheevos_get_json_error(const char* json, char* token, size_t length)
{
return rcheevos_get_value(json, CHEEVOS_JSON_KEY_ERROR, token, length);
}
/*****************************************************************************
Count number of achievements in a JSON file
*****************************************************************************/
typedef struct
{
int in_cheevos;
int in_lboards;
int has_error;
uint32_t field_hash;
unsigned core_count;
unsigned unofficial_count;
unsigned lboard_count;
} rcheevos_countud_t;
static bool rcheevos_count_end_array(void* userdata)
{
rcheevos_countud_t* ud = (rcheevos_countud_t*)userdata;
ud->in_cheevos = 0;
ud->in_lboards = 0;
return true;
}
static bool rcheevos_count_key(void* userdata,
const char* name, size_t length)
{
rcheevos_countud_t* ud = (rcheevos_countud_t*)userdata;
ud->field_hash = rcheevos_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;
else if (ud->field_hash == CHEEVOS_JSON_KEY_ERROR)
ud->has_error = 1;
return true;
}
static bool rcheevos_count_number(void* userdata,
const char* number, size_t length)
{
rcheevos_countud_t* ud = (rcheevos_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 true;
}
static bool rcheevos_count_cheevos(const char* json,
unsigned* core_count, unsigned* unofficial_count,
unsigned* lboard_count, int* has_error)
{
bool res;
rcheevos_countud_t ud;
ud.in_cheevos = 0;
ud.in_lboards = 0;
ud.has_error = 0;
ud.core_count = 0;
ud.unofficial_count = 0;
ud.lboard_count = 0;
res = rjson_parse_quick(json, &ud, CHEEVOS_RJSON_OPTIONS,
rcheevos_count_key,
NULL,
rcheevos_count_number,
NULL, NULL, NULL,
rcheevos_count_end_array,
NULL, NULL, NULL);
*core_count = ud.core_count;
*unofficial_count = ud.unofficial_count;
*lboard_count = ud.lboard_count;
*has_error = ud.has_error;
return res;
}
/*****************************************************************************
Parses the cheevos in the JSON
*****************************************************************************/
typedef struct
{
int in_cheevos;
int in_lboards;
int lboard_had_id;
unsigned core_count;
unsigned unofficial_count;
unsigned lboard_count;
unsigned cheevo_flags;
const char* lboard_format;
const char** field_string;
unsigned* field_unsigned;
rcheevos_racheevo_t cheevo;
rcheevos_ralboard_t lboard;
rcheevos_rapatchdata_t* patchdata;
} rcheevos_readud_t;
static bool rcheevos_new_cheevo(rcheevos_readud_t* ud)
{
rcheevos_racheevo_t* cheevo = NULL;
if (ud->cheevo_flags == 3)
cheevo = ud->patchdata->core + ud->core_count++;
else if (ud->cheevo_flags == 5)
cheevo = ud->patchdata->unofficial + ud->unofficial_count++;
ud->cheevo_flags = 0;
if (!cheevo
|| !ud->cheevo.title
|| !ud->cheevo.description
|| !ud->cheevo.badge
|| !ud->cheevo.memaddr)
{
CHEEVOS_FREE(ud->cheevo.title);
CHEEVOS_FREE(ud->cheevo.description);
CHEEVOS_FREE(ud->cheevo.badge);
CHEEVOS_FREE(ud->cheevo.memaddr);
memset(&ud->cheevo, 0, sizeof(ud->cheevo));
return (cheevo ? false : true);
}
*cheevo = ud->cheevo;
memset(&ud->cheevo, 0, sizeof(ud->cheevo));
return true;
}
static bool rcheevos_new_lboard(rcheevos_readud_t* ud)
{
rcheevos_ralboard_t* lboard = NULL;
if (ud->lboard_had_id)
lboard = ud->patchdata->lboards + ud->lboard_count++;
ud->lboard_had_id = 0;
if (!lboard
|| !ud->lboard.title
|| !ud->lboard.description
|| !ud->lboard.mem)
{
CHEEVOS_FREE(ud->lboard.title);
CHEEVOS_FREE(ud->lboard.description);
CHEEVOS_FREE(ud->lboard.mem);
memset(&ud->lboard, 0, sizeof(ud->lboard));
CHEEVOS_FREE(ud->lboard_format);
ud->lboard_format = NULL;
return (lboard ? false : true);
}
*lboard = ud->lboard;
memset(&ud->lboard, 0, sizeof(ud->lboard));
if (ud->lboard_format)
{
lboard->format = rc_parse_format(ud->lboard_format);
CHEEVOS_FREE(ud->lboard_format);
ud->lboard_format = NULL;
}
return true;
}
static bool rcheevos_read_end_object(void* userdata)
{
rcheevos_readud_t* ud = (rcheevos_readud_t*)userdata;
if (ud->in_cheevos)
return rcheevos_new_cheevo(ud);
if (ud->in_lboards)
return rcheevos_new_lboard(ud);
return true;
}
static bool rcheevos_read_end_array(void* userdata)
{
rcheevos_readud_t* ud = (rcheevos_readud_t*)userdata;
ud->in_cheevos = 0;
ud->in_lboards = 0;
return true;
}
static bool rcheevos_read_key(void* userdata,
const char* name, size_t length)
{
rcheevos_readud_t* ud = (rcheevos_readud_t*)userdata;
uint32_t hash = rcheevos_djb2(name, length);
ud->field_unsigned = NULL;
ud->field_string = 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->field_unsigned = &ud->patchdata->console_id;
break;
case CHEEVOS_JSON_KEY_RICHPRESENCE:
ud->field_string = (const char**)&ud->patchdata->richpresence_script;
break;
case CHEEVOS_JSON_KEY_ID:
if (ud->in_cheevos)
ud->field_unsigned = &ud->cheevo.id;
else if (ud->in_lboards)
{
ud->field_unsigned = &ud->lboard.id;
ud->lboard_had_id = 1;
}
else
ud->field_unsigned = &ud->patchdata->game_id;
break;
case CHEEVOS_JSON_KEY_MEMADDR:
if (ud->in_cheevos)
ud->field_string = &ud->cheevo.memaddr;
break;
case CHEEVOS_JSON_KEY_MEM:
if (ud->in_lboards)
ud->field_string = &ud->lboard.mem;
break;
case CHEEVOS_JSON_KEY_TITLE:
if (ud->in_cheevos)
ud->field_string = &ud->cheevo.title;
else if (ud->in_lboards)
ud->field_string = &ud->lboard.title;
else
ud->field_string = (const char**)&ud->patchdata->title;
break;
case CHEEVOS_JSON_KEY_DESCRIPTION:
if (ud->in_cheevos)
ud->field_string = &ud->cheevo.description;
else if (ud->in_lboards)
ud->field_string = &ud->lboard.description;
break;
case CHEEVOS_JSON_KEY_POINTS:
if (ud->in_cheevos)
ud->field_unsigned = &ud->cheevo.points;
break;
/* UNUSED
case CHEEVOS_JSON_KEY_AUTHOR:
if (ud->in_cheevos)
ud->field_string = &ud->cheevo.author;
break;
case CHEEVOS_JSON_KEY_MODIFIED:
if (ud->in_cheevos)
ud->field_string = &ud->cheevo.modified;
break;
case CHEEVOS_JSON_KEY_CREATED:
if (ud->in_cheevos)
ud->field_string = &ud->cheevo.created;
break; */
case CHEEVOS_JSON_KEY_BADGENAME:
if (ud->in_cheevos)
ud->field_string = &ud->cheevo.badge;
break;
case CHEEVOS_JSON_KEY_FLAGS:
if (ud->in_cheevos)
ud->field_unsigned = &ud->cheevo_flags;
break;
case CHEEVOS_JSON_KEY_FORMAT:
if (ud->in_lboards)
ud->field_string = &ud->lboard_format;
break;
default:
break;
}
return true;
}
static bool rcheevos_read_string(void* userdata,
const char* string, size_t length)
{
rcheevos_readud_t* ud = (rcheevos_readud_t*)userdata;
if (ud->field_string)
{
if (*ud->field_string)
CHEEVOS_FREE((*ud->field_string));
*ud->field_string = strdup(string);
ud->field_string = NULL;
}
return true;
}
static bool rcheevos_read_number(void* userdata,
const char* number, size_t length)
{
rcheevos_readud_t* ud = (rcheevos_readud_t*)userdata;
if (ud->field_unsigned)
{
*ud->field_unsigned = (unsigned)strtol(number, NULL, 10);
ud->field_unsigned = NULL;
}
return true;
}
int rcheevos_get_patchdata(const char* json, rcheevos_rapatchdata_t* patchdata)
{
rcheevos_readud_t ud;
bool res;
int has_error;
/* Count the number of achievements in the JSON file. */
res = rcheevos_count_cheevos(json, &patchdata->core_count,
&patchdata->unofficial_count, &patchdata->lboard_count, &has_error);
if (!res || has_error)
return -1;
/* Allocate the achievements. */
patchdata->core = (rcheevos_racheevo_t*)
calloc(patchdata->core_count, sizeof(rcheevos_racheevo_t));
patchdata->unofficial = (rcheevos_racheevo_t*)
calloc(patchdata->unofficial_count, sizeof(rcheevos_racheevo_t));
patchdata->lboards = (rcheevos_ralboard_t*)
calloc(patchdata->lboard_count, sizeof(rcheevos_ralboard_t));
if (!patchdata->core ||
!patchdata->unofficial ||
!patchdata->lboards)
{
CHEEVOS_FREE(patchdata->core);
CHEEVOS_FREE(patchdata->unofficial);
CHEEVOS_FREE(patchdata->lboards);
return -1;
}
patchdata->richpresence_script = NULL;
patchdata->title = NULL;
/* Load the achievements. */
memset(&ud, 0, sizeof(ud));
ud.patchdata = patchdata;
res = rjson_parse_quick(json, &ud, CHEEVOS_RJSON_OPTIONS,
rcheevos_read_key,
rcheevos_read_string,
rcheevos_read_number,
NULL, rcheevos_read_end_object,
NULL, rcheevos_read_end_array,
NULL, NULL, NULL);
CHEEVOS_FREE(ud.cheevo.title);
CHEEVOS_FREE(ud.cheevo.description);
CHEEVOS_FREE(ud.cheevo.badge);
CHEEVOS_FREE(ud.cheevo.memaddr);
CHEEVOS_FREE(ud.lboard.title);
CHEEVOS_FREE(ud.lboard.description);
CHEEVOS_FREE(ud.lboard.mem);
CHEEVOS_FREE(ud.lboard_format);
if (!res)
{
rcheevos_free_patchdata(patchdata);
return -1;
}
return 0;
}
/*****************************************************************************
Frees the patchdata
*****************************************************************************/
void rcheevos_free_patchdata(rcheevos_rapatchdata_t* patchdata)
{
unsigned i = 0, count = 0;
const rcheevos_racheevo_t* cheevo = NULL;
const rcheevos_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->mem);
}
CHEEVOS_FREE(patchdata->core);
CHEEVOS_FREE(patchdata->unofficial);
CHEEVOS_FREE(patchdata->lboards);
CHEEVOS_FREE(patchdata->richpresence_script);
CHEEVOS_FREE(patchdata->title);
patchdata->game_id = 0;
patchdata->console_id = 0;
patchdata->core = NULL;
patchdata->unofficial = NULL;
patchdata->lboards = NULL;
patchdata->title = NULL;
patchdata->richpresence_script = NULL;
patchdata->core_count = 0;
patchdata->unofficial_count = 0;
patchdata->lboard_count = 0;
}
/*****************************************************************************
Deactivates unlocked cheevos
*****************************************************************************/
typedef struct
{
int is_element;
rcheevos_unlock_cb_t unlock_cb;
void* userdata;
} rcheevos_deactivate_t;
static bool rcheevos_deactivate_elements_begin(void* userdata)
{
rcheevos_deactivate_t* ud = (rcheevos_deactivate_t*)userdata;
ud->is_element = 1;
return true;
}
static bool rcheevos_deactivate_elements_stop(void* userdata)
{
rcheevos_deactivate_t* ud = (rcheevos_deactivate_t*)userdata;
ud->is_element = 0;
return true;
}
static bool rcheevos_deactivate_number(void* userdata,
const char* number, size_t length)
{
rcheevos_deactivate_t* ud = (rcheevos_deactivate_t*)userdata;
unsigned id = 0;
if (ud->is_element)
{
id = (unsigned)strtol(number, NULL, 10);
ud->unlock_cb(id, ud->userdata);
}
return true;
}
void rcheevos_deactivate_unlocks(const char* json, rcheevos_unlock_cb_t unlock_cb, void* userdata)
{
rcheevos_deactivate_t ud;
ud.is_element = 0;
ud.unlock_cb = unlock_cb;
ud.userdata = userdata;
rjson_parse_quick(json, &ud, CHEEVOS_RJSON_OPTIONS,
NULL, NULL,
rcheevos_deactivate_number,
rcheevos_deactivate_elements_stop,
rcheevos_deactivate_elements_stop,
rcheevos_deactivate_elements_begin,
rcheevos_deactivate_elements_stop,
NULL, NULL, NULL);
}
/*****************************************************************************
Returns the game ID
*****************************************************************************/
unsigned chevos_get_gameid(const char* json)
{
char gameid[32];
if (rcheevos_get_value(json, CHEEVOS_JSON_KEY_GAMEID, gameid, sizeof(gameid)) != 0)
return 0;
return (unsigned)strtol(gameid, NULL, 10);
}
-76
View File
@@ -1,76 +0,0 @@
/* 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;
unsigned active;
} rcheevos_racheevo_t;
typedef struct
{
const char* title;
const char* description;
const char* mem;
unsigned id;
unsigned format;
} rcheevos_ralboard_t;
typedef struct
{
char* title;
rcheevos_racheevo_t* core;
rcheevos_racheevo_t* unofficial;
rcheevos_ralboard_t* lboards;
char* richpresence_script;
unsigned game_id;
unsigned console_id;
unsigned core_count;
unsigned unofficial_count;
unsigned lboard_count;
} rcheevos_rapatchdata_t;
typedef void (*rcheevos_unlock_cb_t)(unsigned id, void* userdata);
int rcheevos_get_json_error(const char* json, char* token, size_t length);
int rcheevos_get_token(const char* json, char* token, size_t length);
int rcheevos_get_patchdata(const char* json, rcheevos_rapatchdata_t* patchdata);
void rcheevos_free_patchdata(rcheevos_rapatchdata_t* patchdata);
void rcheevos_deactivate_unlocks(const char* json, rcheevos_unlock_cb_t unlock_cb, void* userdata);
unsigned chevos_get_gameid(const char* json);
RETRO_END_DECLS
#endif
-75
View File
@@ -1,75 +0,0 @@
#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 rcheevos_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 rcheevos_coro_t structure containing the variables for the coroutine */
#define CORO_FIELDS \
int step, sp; \
int stack[ 8 ];
#endif /* __RARCH_CHEEVOS_CORO_H */
-53
View File
@@ -1,53 +0,0 @@
/* 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. */
#define CHEEVOS_VERBOSE
/*****************************************************************************
End of setup
*****************************************************************************/
#define RCHEEVOS_TAG "[RCHEEVOS]: "
#define CHEEVOS_FREE(p) do { void* q = (void*)p; if (q) free(q); } while (0)
#ifdef CHEEVOS_VERBOSE
#define CHEEVOS_LOG RARCH_LOG
#define CHEEVOS_ERR RARCH_ERR
#else
#define CHEEVOS_LOG rcheevos_log
#define CHEEVOS_ERR RARCH_ERR
void rcheevos_log(const char *fmt, ...);
#endif
RETRO_END_DECLS
#endif /* __RARCH_CHEEVOS_UTIL_H */
File diff suppressed because it is too large. Load diff
+1121 -5
View File
File diff suppressed because it is too large. Load diff
+160 -12
View File
@@ -23,13 +23,17 @@
#include <boolean.h>
#include <retro_common_api.h>
#include "retroarch.h"
#include "input/input_defines.h"
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include <streams/interface_stream.h>
#include "retroarch_types.h"
#include "input/input_defines.h"
#include "configuration.h"
RETRO_BEGIN_DECLS
#define MAX_CMD_DRIVERS 3
@@ -73,16 +77,22 @@ enum event_command
/* Loads core. */
CMD_EVENT_LOAD_CORE,
CMD_EVENT_LOAD_CORE_PERSIST,
#if defined(HAVE_RUNAHEAD) && (defined(HAVE_DYNAMIC) || defined(HAVE_DYLIB))
CMD_EVENT_LOAD_SECOND_CORE,
#endif
CMD_EVENT_UNLOAD_CORE,
CMD_EVENT_CLOSE_CONTENT,
CMD_EVENT_LOAD_STATE,
CMD_EVENT_LOAD_STATE_FROM_RAM,
/* Swaps the current state with what's on the undo load buffer */
CMD_EVENT_UNDO_LOAD_STATE,
/* Rewrites a savestate on disk */
CMD_EVENT_UNDO_SAVE_STATE,
CMD_EVENT_SAVE_STATE,
CMD_EVENT_SAVE_STATE_TO_RAM,
CMD_EVENT_SAVE_STATE_DECREMENT,
CMD_EVENT_SAVE_STATE_INCREMENT,
CMD_EVENT_RAM_STATE_TO_FILE,
/* Takes screenshot. */
CMD_EVENT_TAKE_SCREENSHOT,
/* Quits RetroArch. */
@@ -274,12 +284,116 @@ command_t* command_uds_new(void);
bool command_network_send(const char *cmd_);
/* These forward declarations need to be declared before
* the global state is declared */
#ifdef HAVE_BSV_MOVIE
struct bsv_state
{
/* Movie playback/recording support. */
char movie_path[PATH_MAX_LENGTH];
/* Immediate playback/recording. */
char movie_start_path[PATH_MAX_LENGTH];
bool movie_start_recording;
bool movie_start_playback;
bool movie_playback;
bool eof_exit;
bool movie_end;
};
struct bsv_movie
{
intfstream_t *file;
uint8_t *state;
/* A ring buffer keeping track of positions
* in the file for each frame. */
size_t *frame_pos;
size_t frame_mask;
size_t frame_ptr;
size_t min_file_pos;
size_t state_size;
bool playback;
bool first_rewind;
bool did_rewind;
};
typedef struct bsv_movie bsv_movie_t;
#endif
#ifdef HAVE_CONFIGFILE
bool command_event_save_config(
const char *config_path,
char *s, size_t len);
#endif
void command_event_undo_save_state(char *s, size_t len);
void command_event_undo_load_state(char *s, size_t len);
void command_event_set_mixer_volume(
settings_t *settings,
float gain);
bool command_event_resize_windowed_scale(settings_t *settings,
unsigned window_scale);
bool command_event_save_auto_state(
bool savestate_auto_save,
global_t *global,
const enum rarch_core_type current_core_type);
/**
* event_set_volume:
* @gain : amount of gain to be applied to current volume level.
*
* Adjusts the current audio volume level.
*
**/
void command_event_set_volume(
settings_t *settings,
float gain,
bool widgets_active,
bool audio_driver_mute_enable);
/**
* command_event_init_controllers:
*
* Initialize libretro controllers.
**/
void command_event_init_controllers(rarch_system_info_t *info,
settings_t *settings, unsigned num_active_users);
void command_event_load_auto_state(global_t *global);
void command_event_set_savestate_auto_index(
settings_t *settings,
const global_t *global);
void command_event_set_savestate_garbage_collect(
const global_t *global,
unsigned max_to_keep,
bool show_hidden_files
);
#if defined(HAVE_CG) || defined(HAVE_GLSL) || defined(HAVE_SLANG) || defined(HAVE_HLSL)
bool command_set_shader(command_t *cmd, const char *arg);
#endif
#ifdef HAVE_CHEATS
void command_event_init_cheats(
bool apply_cheats_after_load,
const char *path_cheat_db,
void *bsv_movie_data);
#endif
#if defined(HAVE_COMMAND)
struct cmd_action_map
{
const char *str;
bool (*action)(command_t* cmd, const char *arg);
const char *arg_desc;
};
bool command_version(command_t *cmd, const char* arg);
bool command_get_status(command_t *cmd, const char* arg);
bool command_get_config_param(command_t *cmd, const char* arg);
@@ -290,13 +404,13 @@ bool command_write_ram(command_t *cmd, const char *arg);
#endif
bool command_read_memory(command_t *cmd, const char *arg);
bool command_write_memory(command_t *cmd, const char *arg);
struct cmd_action_map
{
const char *str;
bool (*action)(command_t* cmd, const char *arg);
const char *arg_desc;
};
uint8_t *command_memory_get_pointer(
const rarch_system_info_t* system,
unsigned address,
unsigned int* max_bytes,
int for_write,
char *reply_at,
size_t len);
static const struct cmd_action_map action_map[] = {
#if defined(HAVE_CG) || defined(HAVE_GLSL) || defined(HAVE_SLANG) || defined(HAVE_HLSL)
@@ -368,6 +482,40 @@ static const struct cmd_map map[] = {
};
#endif
#ifdef HAVE_CONFIGFILE
/**
* command_event_save_core_config:
*
* Saves a new (core) configuration to a file. Filename is based
* on heuristics to avoid typing.
*
* Returns: true (1) on success, otherwise false (0).
**/
bool command_event_save_core_config(
const char *dir_menu_config,
const char *rarch_path_config);
/**
* command_event_save_current_config:
*
* Saves current configuration file to disk, and (optionally)
* autosave state.
**/
void command_event_save_current_config(enum override_type type);
#endif
/**
* command_event_disk_control_append_image:
* @path : Path to disk image.
*
* Appends disk image to disk image list.
**/
bool command_event_disk_control_append_image(const char *path);
void command_event_reinit(const int flags);
bool command_event_main_state(unsigned cmd);
RETRO_END_DECLS
#endif
+169 -31
View File
@@ -48,6 +48,11 @@
#include "menu/menu_screensaver.h"
#endif
/* Required for 'show inputs on overlay' setting */
#if defined(HAVE_OVERLAY)
#include "../input/input_overlay.h"
#endif
#if defined(HW_RVL)
#define MAX_GAMMA_SETTING 30
#elif defined(GEKKO)
@@ -61,7 +66,7 @@
#elif defined(_XBOX1) || defined(GEKKO) || defined(ANDROID)
#define DEFAULT_ASPECT_RATIO 1.3333f
#else
#define DEFAULT_ASPECT_RATIO -1.0f
#define DEFAULT_ASPECT_RATIO 1.3333f
#endif
#if defined(GEKKO)
@@ -70,7 +75,7 @@
#define DEFAULT_TOUCH_SCALE 1
#if defined(RARCH_MOBILE) || defined(HAVE_LIBNX) || defined(__WINRT__)
#if defined(RARCH_MOBILE) || defined(HAVE_LIBNX) || defined(__WINRT__) || defined(EMSCRIPTEN)
#define DEFAULT_POINTER_ENABLE true
#else
#define DEFAULT_POINTER_ENABLE false
@@ -152,6 +157,8 @@
#define DEFAULT_CRT_SWITCH_PORCH_ADJUST 0
#define DEFAULT_CRT_SWITCH_HIRES_MENU true
#define DEFAULT_HISTORY_LIST_ENABLE true
#define DEFAULT_PLAYLIST_ENTRY_RENAME true
@@ -194,48 +201,94 @@
/* To start in Fullscreen, or not. */
#if defined(HAVE_STEAM) || defined(DINGUX)
/* Start in fullscreen mode for Steam and
* Dingux builds */
#if defined(HAVE_STEAM) || defined(DINGUX) || defined(__WINRT__) || defined(WINAPI_FAMILY) && WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP
/* Start in fullscreen mode for Steam and Dingux
* WinRT and Winapi Family builds */
#define DEFAULT_FULLSCREEN true
#else
#define DEFAULT_FULLSCREEN false
#endif
/* To use windowed mode or not when going fullscreen. */
#define DEFAULT_WINDOWED_FULLSCREEN true
#if defined(__WINRT__) || defined(WINAPI_FAMILY) && WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP
/* Do not use windowed mode for WinRT and Winapi Family builds on the Xbox UWP with fixed resolution shrinks the image into the left top corner of the screen with some libretro cores */
#define DEFAULT_WINDOWED_FULLSCREEN false
#else
#define DEFAULT_WINDOWED_FULLSCREEN true
#endif
/* Which monitor to prefer. 0 is any monitor, 1 and up selects
* specific monitors, 1 being the first monitor. */
#define DEFAULT_MONITOR_INDEX 0
/* Window */
/* Window size. A value of 0 uses window scale
* multiplied by the core framebuffer size. */
#define DEFAULT_WINDOW_WIDTH 1280
/* DEFAULT_WINDOW_DECORATIONS:
Whether to show the usual window decorations like border, titlebar etc. */
#ifdef WEBOS
#define DEFAULT_WINDOW_DECORATIONS false
#else
#define DEFAULT_WINDOW_DECORATIONS true
#endif
/* Amount of transparency to use for the main window.
* 1 is the most transparent while 100 is opaque. */
#define DEFAULT_WINDOW_OPACITY 100
/* DEFAULT_WINDOW_SAVE_POSITIONS:
* Whether to remember window positions
* NOTE: Only enabled for desktop Windows
* at present. */
#define DEFAULT_WINDOW_SAVE_POSITIONS false
/* Whether to use custom (fixed size)
* window dimensions in windowed mode. */
#ifdef WEBOS
#define DEFAULT_WINDOW_CUSTOM_SIZE_ENABLE true
#else
#define DEFAULT_WINDOW_CUSTOM_SIZE_ENABLE false
#endif
/* Window dimensions when using a fixed size
* window. A value of 0 disables fixed size
* windows, using nominal dimensions of
* window scale multiplied by the core
* framebuffer size. */
#if defined(WEBOS)
#define DEFAULT_WINDOW_WIDTH 1920
#define DEFAULT_WINDOW_HEIGHT 1080
#else
#define DEFAULT_WINDOW_WIDTH 1280
#define DEFAULT_WINDOW_HEIGHT 720
#endif
/* Maximum auto-set window dimensions
* when not using a fixed size window */
#define DEFAULT_WINDOW_AUTO_WIDTH_MAX 1920
#define DEFAULT_WINDOW_AUTO_HEIGHT_MAX 1080
/* Fullscreen resolution. A value of 0 uses the desktop
* resolution. */
#if defined(DINGUX)
#define DEFAULT_FULLSCREEN_X 320
#define DEFAULT_FULLSCREEN_Y 240
#elif defined(__WINRT__) || defined(WINAPI_FAMILY) && WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP
#define DEFAULT_FULLSCREEN_X 1920
#define DEFAULT_FULLSCREEN_Y 1080
#else
#define DEFAULT_FULLSCREEN_X 0
#define DEFAULT_FULLSCREEN_Y 0
#endif
#if defined(HAVE_WINDOW_OFFSET)
/* Screen offsets to center content in CTRs */
#define DEFAULT_WINDOW_OFFSET_X 0
#define DEFAULT_WINDOW_OFFSET_Y 0
#endif
/* Number of threads to use for video recording */
#define DEFAULT_VIDEO_RECORD_THREADS 2
/* Amount of transparency to use for the main window.
* 1 is the most transparent while 100 is opaque.
*/
#define DEFAULT_WINDOW_OPACITY 100
/* Whether to show the usual window decorations like border, titlebar etc. */
#define DEFAULT_WINDOW_DECORATIONS true
#if defined(RARCH_CONSOLE) || defined(__APPLE__)
#define DEFAULT_LOAD_DUMMY_ON_CORE_SHUTDOWN false
#else
@@ -243,6 +296,15 @@
#endif
#define DEFAULT_CHECK_FIRMWARE_BEFORE_LOADING false
/* Specifies whether cores are allowed to
* present core options in category submenus */
#define DEFAULT_CORE_OPTION_CATEGORY_ENABLE true
/* Specifies whether to cache core info
* into a single (compressed) file for improved
* load times on platforms with slow IO */
#define DEFAULT_CORE_INFO_CACHE_ENABLE true
/* Specifies whether to 'reload' (fork and quit)
* RetroArch when launching content with the
* currently loaded core
@@ -281,6 +343,8 @@
* Can reduce latency at cost of higher risk of stuttering.
*/
#define DEFAULT_FRAME_DELAY 0
#define MAXIMUM_FRAME_DELAY 19
#define DEFAULT_FRAME_DELAY_AUTO false
/* Inserts black frame(s) inbetween frames.
* Useful for Higher Hz monitors (set to multiples of 60 Hz) who want to play 60 Hz
@@ -355,6 +419,21 @@
#define DEFAULT_SHADER_ENABLE false
#endif
/* Should we enable hdr when its supported*/
#define DEFAULT_VIDEO_HDR_ENABLE false
/* The maximum nunmber of nits the actual display can show - needs to be calibrated */
#define DEFAULT_VIDEO_HDR_MAX_NITS 1000.0f
/* The number of nits that paper white is at */
#define DEFAULT_VIDEO_HDR_PAPER_WHITE_NITS 200.0f
/* The contrast setting for hdr used to calculate the display gamma by dividing this value by gamma 2.2 */
#define DEFAULT_VIDEO_HDR_CONTRAST 5.0f
/* Should we expand the colour gamut when using hdr */
#define DEFAULT_VIDEO_HDR_EXPAND_GAMUT true
/* When presets are saved they will be saved using the #reference
* directive by default */
#define DEFAULT_VIDEO_SHADER_PRESET_SAVE_REFERENCE_ENABLE true
@@ -364,8 +443,10 @@
/* Only scale in integer steps.
* The base size depends on system-reported geometry and aspect ratio.
* If video_force_aspect is not set, X/Y will be integer scaled independently.
* Overscale rounds up instead of down, default is downscale.
*/
#define DEFAULT_SCALE_INTEGER false
#define DEFAULT_SCALE_INTEGER_OVERSCALE false
/* Controls aspect ratio handling. */
@@ -388,12 +469,22 @@
#define DEFAULT_DINGUX_IPU_KEEP_ASPECT true
/* Sets image filtering method when using the
* IPU hardware scaler in Dingux devices */
#if defined(RETROFW)
#define DEFAULT_DINGUX_IPU_FILTER_TYPE DINGUX_IPU_FILTER_NEAREST
#else
#define DEFAULT_DINGUX_IPU_FILTER_TYPE DINGUX_IPU_FILTER_BICUBIC
#endif
#if defined(DINGUX_BETA)
/* Sets refresh rate of integral LCD panel
* in Dingux devices */
#define DEFAULT_DINGUX_REFRESH_RATE DINGUX_REFRESH_RATE_60HZ
#endif
#if defined(RS90) || defined(MIYOO)
/* Sets image filtering method on the RS90
* when integer scaling is disabled */
#define DEFAULT_DINGUX_RS90_SOFTFILTER_TYPE DINGUX_RS90_SOFTFILTER_POINT
#endif
#endif
/* Save configuration file on exit. */
@@ -527,6 +618,9 @@ static const bool quick_menu_show_start_streaming = true;
static const bool quick_menu_show_set_core_association = true;
static const bool quick_menu_show_reset_core_association = true;
static const bool quick_menu_show_options = true;
#define DEFAULT_QUICK_MENU_SHOW_CORE_OPTIONS_FLUSH false
static const bool quick_menu_show_controls = true;
static const bool quick_menu_show_cheats = true;
static const bool quick_menu_show_shaders = true;
@@ -713,20 +807,24 @@ static const bool default_savefiles_in_content_dir = false;
static const bool default_systemfiles_in_content_dir = false;
static const bool default_screenshots_in_content_dir = false;
#if defined(_XBOX1) || defined(__PS3__) || defined(_XBOX360) || defined(DINGUX)
#define DEFAULT_MENU_TOGGLE_GAMEPAD_COMBO INPUT_TOGGLE_L3_R3
#if defined(RS90) || defined(RETROFW) || defined(MIYOO)
#define DEFAULT_MENU_TOGGLE_GAMEPAD_COMBO INPUT_COMBO_START_SELECT
#elif defined(_XBOX1) || defined(__PS3__) || defined(_XBOX360) || defined(DINGUX)
#define DEFAULT_MENU_TOGGLE_GAMEPAD_COMBO INPUT_COMBO_L3_R3
#elif defined(PS2) || defined(PSP)
#define DEFAULT_MENU_TOGGLE_GAMEPAD_COMBO INPUT_TOGGLE_HOLD_START
#define DEFAULT_MENU_TOGGLE_GAMEPAD_COMBO INPUT_COMBO_HOLD_START
#elif defined(VITA)
#define DEFAULT_MENU_TOGGLE_GAMEPAD_COMBO INPUT_TOGGLE_L1_R1_START_SELECT
#define DEFAULT_MENU_TOGGLE_GAMEPAD_COMBO INPUT_COMBO_L1_R1_START_SELECT
#elif defined(SWITCH) || defined(ORBIS)
#define DEFAULT_MENU_TOGGLE_GAMEPAD_COMBO INPUT_TOGGLE_START_SELECT
#define DEFAULT_MENU_TOGGLE_GAMEPAD_COMBO INPUT_COMBO_START_SELECT
#elif TARGET_OS_TV
#define DEFAULT_MENU_TOGGLE_GAMEPAD_COMBO INPUT_TOGGLE_DOWN_Y_L_R
#define DEFAULT_MENU_TOGGLE_GAMEPAD_COMBO INPUT_COMBO_DOWN_Y_L_R
#else
#define DEFAULT_MENU_TOGGLE_GAMEPAD_COMBO INPUT_TOGGLE_NONE
#define DEFAULT_MENU_TOGGLE_GAMEPAD_COMBO INPUT_COMBO_NONE
#endif
#define DEFAULT_QUIT_GAMEPAD_COMBO INPUT_COMBO_NONE
#if defined(VITA)
static const unsigned input_backtouch_enable = false;
static const unsigned input_backtouch_toggle = false;
@@ -734,9 +832,15 @@ static const unsigned input_backtouch_toggle = false;
#define DEFAULT_OVERLAY_ENABLE_AUTOPREFERRED true
#define DEFAULT_SHOW_PHYSICAL_INPUTS true
#if defined(HAVE_OVERLAY)
#if defined(RARCH_MOBILE)
#define DEFAULT_OVERLAY_SHOW_INPUTS OVERLAY_SHOW_INPUT_TOUCHED
#else
#define DEFAULT_OVERLAY_SHOW_INPUTS OVERLAY_SHOW_INPUT_PHYSICAL
#endif
#endif
#define DEFAULT_ALL_USERS_CONTROL_MENU false
#define DEFAULT_OVERLAY_SHOW_INPUTS_PORT 0
#if defined(ANDROID) || defined(_WIN32)
#define DEFAULT_MENU_SWAP_OK_CANCEL_BUTTONS true
@@ -744,6 +848,12 @@ static const unsigned input_backtouch_toggle = false;
#define DEFAULT_MENU_SWAP_OK_CANCEL_BUTTONS false
#endif
#if defined(WIIU)
#define DEFAULT_ALL_USERS_CONTROL_MENU true
#else
#define DEFAULT_ALL_USERS_CONTROL_MENU false
#endif
#define DEFAULT_QUIT_PRESS_TWICE true
#define DEFAULT_LOG_TO_FILE false
@@ -756,6 +866,8 @@ static const unsigned input_backtouch_toggle = false;
/* Font size for on-screen messages. */
#if defined(DINGUX)
#define DEFAULT_FONT_SIZE 12
#elif defined(PS2)
#define DEFAULT_FONT_SIZE 16
#else
#define DEFAULT_FONT_SIZE 32
#endif
@@ -908,10 +1020,14 @@ static const bool audio_enable_menu_bgm = false;
#define DEFAULT_NOTIFICATION_SHOW_REFRESH_RATE true
#endif
#ifdef HAVE_NETWORKING
#define DEFAULT_NOTIFICATION_SHOW_NETPLAY_EXTRA false
#endif
/* Output samplerate. */
#ifdef GEKKO
#define DEFAULT_OUTPUT_RATE 32000
#elif defined(_3DS)
#elif defined(_3DS) || defined(RETROFW) || defined(MIYOO)
#define DEFAULT_OUTPUT_RATE 32730
#else
#define DEFAULT_OUTPUT_RATE 48000
@@ -922,7 +1038,7 @@ static const bool audio_enable_menu_bgm = false;
/* Desired audio latency in milliseconds. Might not be honored
* if driver can't provide given latency. */
#if defined(ANDROID) || defined(EMSCRIPTEN)
#if defined(ANDROID) || defined(EMSCRIPTEN) || defined(RETROFW) || defined(MIYOO)
/* For most Android devices, 64ms is way too low. */
#define DEFAULT_OUT_LATENCY 128
#else
@@ -995,6 +1111,13 @@ static const bool audio_enable_menu_bgm = false;
/* When set, all enabled cheats are auto-applied when a game is loaded. */
#define DEFAULT_APPLY_CHEATS_AFTER_LOAD false
#if defined(RETROFW) || defined(MIYOO)
/*RETROFW jz4760 has signficant slowdown with default settings */
#define DEFAULT_REWIND_BUFFER_SIZE (1 << 20)
#define DEFAULT_REWIND_BUFFER_SIZE_STEP 1
#define DEFAULT_REWIND_GRANULARITY 6
#else
/* The buffer size for the rewind buffer. This needs to be about
* 15-20MB per minute. Very game dependant. */
#define DEFAULT_REWIND_BUFFER_SIZE (20 << 20) /* 20MiB */
@@ -1004,9 +1127,9 @@ static const bool audio_enable_menu_bgm = false;
/* How many frames to rewind at a time. */
#define DEFAULT_REWIND_GRANULARITY 1
#endif
/* Pause gameplay when gameplay loses focus. */
#ifdef EMSCRIPTEN
#if defined(EMSCRIPTEN) || defined(WEBOS)
#define DEFAULT_PAUSE_NONACTIVE false
#else
#define DEFAULT_PAUSE_NONACTIVE true
@@ -1052,6 +1175,7 @@ static const bool netplay_use_mitm_server = false;
#define DEFAULT_NETPLAY_MITM_SERVER "nyc"
#ifdef HAVE_NETWORKING
static const unsigned netplay_max_connections = 3;
static const unsigned netplay_share_digital = RARCH_NETPLAY_SHARE_DIGITAL_NO_PREFERENCE;
static const unsigned netplay_share_analog = RARCH_NETPLAY_SHARE_ANALOG_NO_PREFERENCE;
@@ -1185,6 +1309,10 @@ static const int default_content_favorites_size = 200;
#define DEFAULT_PLAYLIST_SHOW_SUBLABELS true
#endif
/* Show the indices of playlist entries in
* a menu-driver-specific fashion */
#define DEFAULT_PLAYLIST_SHOW_ENTRY_IDX true
#define DEFAULT_PLAYLIST_FUZZY_ARCHIVE_MATCH false
#define DEFAULT_PLAYLIST_PORTABLE_PATHS false
@@ -1284,6 +1412,14 @@ static const unsigned menu_left_thumbnails_default = 0;
static const unsigned gfx_thumbnail_upscale_threshold = 0;
#ifdef HAVE_MENU
#if defined(RS90) || defined(MIYOO)
/* The RS-90 has a hardware clock that is neither
* configurable nor persistent, rendering it useless.
* We therefore hide it in the menu by default. */
#define DEFAULT_MENU_TIMEDATE_ENABLE false
#else
#define DEFAULT_MENU_TIMEDATE_ENABLE true
#endif
#define DEFAULT_MENU_TIMEDATE_STYLE MENU_TIMEDATE_STYLE_DDMM_HM
#define DEFAULT_MENU_TIMEDATE_DATE_SEPARATOR MENU_TIMEDATE_DATE_SEPARATOR_HYPHEN
#endif
@@ -1346,7 +1482,9 @@ static const bool enable_device_vibration = false;
/* Defines the strength of rumble effects
* on OpenDingux devices */
#if defined(DINGUX) && defined(HAVE_LIBSHAKE)
#define DEFAULT_DINGUX_RUMBLE_GAIN 50
#define DEFAULT_RUMBLE_GAIN 50
#else
#define DEFAULT_RUMBLE_GAIN 100
#endif
#ifdef HAVE_VULKAN
+4 -4
View File
@@ -195,7 +195,7 @@ static const struct retro_keybind retro_keybinds_1[] = {
NULL, NULL,
AXIS_NONE, AXIS_NONE, AXIS_NONE,
MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_TRIGGER, RETROK_UNKNOWN,
RARCH_LIGHTGUN_TRIGGER, NO_BTN, NO_BTN, 0,
RARCH_LIGHTGUN_TRIGGER, RETRO_DEVICE_ID_MOUSE_LEFT, NO_BTN, 0,
true
},
{
@@ -750,7 +750,7 @@ static const struct retro_keybind retro_keybinds_1[] = {
NULL, NULL,
AXIS_NONE, AXIS_NONE, AXIS_NONE,
MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_TRIGGER, RETROK_UNKNOWN,
RARCH_LIGHTGUN_TRIGGER, NO_BTN, NO_BTN, 0,
RARCH_LIGHTGUN_TRIGGER, RETRO_DEVICE_ID_MOUSE_LEFT, NO_BTN, 0,
true
},
{
@@ -1304,7 +1304,7 @@ static const struct retro_keybind retro_keybinds_1[] = {
NULL, NULL,
AXIS_NONE, AXIS_NONE, AXIS_NONE,
MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_TRIGGER, RETROK_UNKNOWN,
RARCH_LIGHTGUN_TRIGGER, NO_BTN, NO_BTN, 0,
RARCH_LIGHTGUN_TRIGGER, RETRO_DEVICE_ID_MOUSE_LEFT, NO_BTN, 0,
true
},
{
@@ -1872,7 +1872,7 @@ static const struct retro_keybind retro_keybinds_rest[] = {
NULL, NULL,
AXIS_NONE, AXIS_NONE, AXIS_NONE,
MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_TRIGGER, RETROK_UNKNOWN,
RARCH_LIGHTGUN_TRIGGER, NO_BTN, NO_BTN, 0,
RARCH_LIGHTGUN_TRIGGER, RETRO_DEVICE_ID_MOUSE_LEFT, NO_BTN, 0,
true
},
{
+6
View File
@@ -350,6 +350,12 @@
#define SUPPORTS_CORETEXT false
#endif
#ifdef HAVE_CHECK
#define SUPPORTS_CHECK true
#else
#define SUPPORTS_CHECK false
#endif
#if !defined(_WIN32) && !defined(GLOBAL_CONFIG_DIR)
#if defined(__HAIKU__)
#define GLOBAL_CONFIG_DIR "/system/settings"
+945 -96
View File
File diff suppressed because it is too large. Load diff
Loaded 100 of 1024 files, more files were not shown because too many files have changed in this diff. Show more