Commit Graph

433 Commits

Author SHA1 Message Date
twinaphex 357b7d68f6 (libretro-common) Rename rhash to lrc_hash
(rcheevos) Rename rhash to rc_hash
2020-12-28 19:55:54 +01:00
Jamiras 5224e97481 add confirmation submenu to achievements hardcore toggle 2020-12-26 14:15:01 -07:00
Jamiras 8ed0fcb5ce show unsupported core message when viewing achievement list for unsupported core 2020-11-16 21:38:02 -07:00
Jamiras f51e372477 differentiate between no achievements for a set and not being logged in 2020-11-09 20:18:31 -07:00
twinaphex 762275b794 Buildfix 2020-11-07 03:42:54 +01:00
twinaphex 5c87abe639 Buildfix cheevos 2020-11-04 03:37:42 +01:00
Jamiras 2291590d12 allow CSV of valid options 2020-10-20 20:58:34 -06:00
Jamiras f58130bb64 disable achievement hardcore mode when certain core options are enabled 2020-10-20 10:37:05 -06:00
schellingb ba1ed2da4b New faster json parser/writer library rjson
Replace existing libraries jsonsax_full and jsonsax with it
2020-10-12 03:02:20 +09:00
Jamiras 02ddbc41cc allow disabling leaderboard notifications and trackers separately 2020-09-25 19:28:56 -06:00
Jamiras 71cd400e56 add display widget for active leaderboards 2020-09-24 11:29:29 -06:00
Twinaphex b59c5f6ff9 Cleanup - remove unused variable 2020-09-22 04:52:31 +02:00
Jamiras b74c5d290c restore ability to disable unofficial achievements and leaderboards 2020-09-21 17:48:14 -06:00
Twinaphex 3b24bb21e5 Remove unused variables 2020-09-15 19:38:07 +02:00
Jamiras 7e348b98f7 address travis error 2020-09-15 09:09:02 -06:00
Jamiras 0d6f0e4826 let rc_runtime_t manage triggers 2020-09-14 07:51:52 -06:00
twinaphex 17cf1ae58f Dehardcode some strings 2020-09-01 21:51:11 +02:00
twinaphex 1c25fbded5 (rcheevos) Cleanups 2020-08-23 21:07:15 +02:00
twinaphex 86520cbd07 Reorder structs, alignment 2020-08-23 16:02:33 +02:00
twinaphex edd2ef7b92 (cheevos) Try to use snprintf where possible 2020-08-23 15:17:00 +02:00
twinaphex c10d1922ed (rcheevos) Try to use safe versions of strcpy/sprintf where possible 2020-08-23 15:15:34 +02:00
twinaphex b965bb5c48 (rcheevos) Alignment improvements according to CODING-GUIDELINES
document
2020-08-23 15:10:20 +02:00
Jamiras 2f69d2d4ed eliminate exposed variables for tracking hardcore 2020-08-22 12:18:12 -06:00
twinaphex f618c8be9c Cleanups 2020-08-18 15:51:26 +02:00
Jamiras 2a5516b1b9 ensure cheevos badge textures are released before video driver is deinitialized 2020-08-12 21:55:12 -06:00
twinaphex 56a690df0e (cheevos) Some style nits 2020-08-12 17:43:04 +02:00
Jamiras 1f350be1f8 rename memory.c and parser.c to be less generic; eliminate hash.c 2020-08-12 08:16:06 -06:00
Jamiras 8d34d06c76 address LGTM warning 2020-08-11 11:15:00 -06:00
Jamiras 0609d229a6 address travis warnings 2020-08-11 10:23:35 -06:00
Jamiras b15411dad8 generic memory mapping using rcheevos 2020-08-11 09:26:04 -06:00
Jamiras 96c5f5dfb0 add option to play custom sound on achievement unlock 2020-07-11 10:56:09 -06:00
Jamiras a2cfc881a4 allow submission of 0 for leaderboard values 2020-07-04 07:20:51 -06:00
twinaphex 7862166ed2 Add back HAVE_SCREENSHOTS define from SSNES days 2020-07-01 17:47:13 +02:00
jdgleaver 0fcfb3deda Refactor playlist struct configuration 2020-06-26 15:40:19 +01:00
twinaphex 91f5ca4105 Cleanups 2020-06-25 23:10:54 +02:00
twinaphex 601a73fa8b Use string_starts_with_size where possible - avoids the strlen 2020-06-25 12:51:04 +02:00
Jamiras e85b318038 display 'Unlocked' in hardcore mode for achievements earned in non-hardcore mode 2020-06-23 08:59:43 -06:00
Jamiras 527e9faa1f hash buffered data when available 2020-06-21 09:39:42 -06:00
Jamiras 20380a8042 correctly report unlocked non-hardcore achievements when hardcore is paused 2020-06-15 07:06:12 -06:00
Twinaphex 80dd4548e1 Remove unused variables 2020-06-08 13:39:18 +02:00
Jamiras 7d488aa200 use rcheevos for identifying games 2020-06-07 17:13:50 -06:00
twinaphex cb90fdb802 (Cheevos) Cleanups 2020-06-07 21:48:36 +02:00
twinaphex 55a8404d01 (Cheevos) Cleanups 2020-06-07 21:34:43 +02:00
twinaphex 2baa3be2da Cleanups 2020-06-07 21:18:07 +02:00
twinaphex 543e4bca16 Merge Discord code into retroarch.c 2020-06-06 20:50:25 +02:00
Autechre 2cec960ada
Merge pull request #10774 from Jamiras/cheevos_report_err
report API errors when unlocking achievements or submitting leaderboards
2020-06-05 12:50:12 +02:00
Jamiras 6e5b786329 report API errors when unlocking achievements or submitting leaderboards 2020-06-02 22:03:35 -06:00
jdgleaver eb429f9211 (Cheevos) When parsing M3U files, only capture the first entry 2020-05-30 12:16:52 +01:00
jdgleaver 21ad64ab77 (Cheevos) Use 'm3u_file.h' library when parsing M3U files 2020-05-29 17:44:31 +01:00
twinaphex 6dc758a080 Move cheevos-new to cheevos/ 2020-05-21 23:23:01 +02:00
meleu 98ba2d8cb9 remove old cheevos files 2019-05-29 16:32:36 -03:00
twinaphex 020b714113 Refactor task_screenshot.c 2019-05-22 05:54:35 +02:00
radius eef4ada025 fix #8725 again including:
- allow savestates on hardcore
- fix weird conditions happening due to having two implementations
- fix popup saying state was loaded when starting a game with achievements hardcore after a game with no achievements
- fix rewind not working when loading games with no achievements after loading games with achievements hardcore
2019-05-21 03:32:49 +02:00
twinaphex f17655f073 Revert "attempt to fix issue described in #8725"
This reverts commit 90b0afdaa7.
2019-05-21 03:32:18 +02:00
twinaphex 90b0afdaa7 attempt to fix issue described in #8725 2019-05-21 03:10:06 +02:00
radius f393898825 cheevos, fix issue described in https://github.com/libretro/RetroArch/issues/8725#issuecomment-493130218 2019-05-19 00:37:48 +02:00
Twinaphex 2ed4fbf2f7
Merge pull request #8691 from meleu/patch-5
use new cheevos implementation as default
2019-05-04 15:55:22 +02:00
meleu b85cd1f1ab use new cheevos implementation as default 2019-05-04 10:27:36 -03:00
natinusala 636f2ddb28 menu_widgets: implement the user setting 2019-05-03 21:25:20 +02:00
twinaphex bb45102450 Merge branch 'master' of https://github.com/libretro/RetroArch 2019-04-20 15:24:46 +02:00
twinaphex e35cd80a14 (MSVC 2010) Buildfix 2019-04-20 05:53:17 +02:00
meleu 9091409efa remove '#ifdef HAVE_NEW_CHEEVOS' leftovers 2019-04-19 23:11:31 -03:00
meleu c2364096f3
Merge branch 'master' into runtime_rcheevos_switch 2019-04-19 21:50:00 -03:00
leiradel dab941e53d Simpler code paths 2019-04-19 17:33:24 +01:00
leiradel c0bb911501 Fix check to chose between mmaps and meminfo 2019-04-19 15:12:04 +01:00
leiradel 8aa16caef5 Fix format string in log message 2019-04-19 15:01:02 +01:00
Raphaël Zumer dc37d56ac8 Check bounds of peeked memory for achievements 2019-04-15 13:34:44 -04:00
natinusala 8287049a13 menu widgets: add badges to achievement notification 2019-04-11 17:35:13 +02:00
natinusala f941d4e625 menu widgets: add first achievement notification widget 2019-04-11 16:46:41 +02:00
meleu dda6716926 more namespacing work & del rcheevos/test/* files 2019-03-24 12:51:47 -03:00
meleu d444044fde decrease log massive verbosity when leaderboard is active 2019-03-19 21:19:08 -03:00
meleu a5acd559d6 namespace both cheevos implementations & add a runtime setting to allow debugging 2019-03-19 21:13:10 -03:00
meleu 846ca5fd3b cheevos: cancel lboards on reset 2019-02-09 23:12:06 -02:00
twinaphex 386657a366 (menu widgets backport) Re-commit task queue changes 2019-02-08 08:00:32 +01:00
twinaphex 894f3b7aef Change function signature back 2019-02-08 07:29:50 +01:00
twinaphex 7022786f34 Revert parts of menu_widgets that were causing breakage, but leave
all the hooks in so we can add them back piece by piece again
2019-02-08 07:26:43 +01:00
natinusala c20ab3864d First version of menu widgets (gl only) 2019-02-06 20:48:24 +01:00
Twinaphex 7fedabee4b
Merge pull request #8163 from orbea/cleanup
Cleanup
2019-02-04 23:19:05 +01:00
twinaphex 845b30131f Cleanups 2019-02-04 23:17:39 +01:00
orbea 4c56167446 Convert to linux line endings. 2019-02-03 15:43:42 -08:00
Raphaël Zumer b1de875551 Define lynx_header_len at the function head 2019-01-15 12:19:25 -05:00
Raphaël Zumer cdbfec7348 Make SNES_HEADER_LEN snake case 2019-01-15 12:18:58 -05:00
Raphaël Zumer 4260f9ffbc Hash full Lynx file content 2019-01-15 12:12:13 -05:00
twinaphex 0f8cf1a579 C89 buildfix 2019-01-12 18:15:49 +01:00
Twinaphex cdcadf6237
Merge pull request #7769 from rzumer/patch-2
Update NES and SNES hashing methods
2019-01-10 15:14:08 +01:00
orbea bfc366decc Squeeze extra blank lines with cat(1).
Example:

find . -type f -iname '*.c' | while read -r i; do
  cat -s "$i" > "$i.new"
  mv "$i.new" "$i"
done
2019-01-08 11:04:58 -08:00
Raphaël Zumer 5cef12160a Ignore trainer data for NES hashing 2019-01-03 21:14:29 -05:00
Raphaël Zumer 0ebf5a2563 Fall back to GENERIC_MD5 for headerless SNES 2019-01-02 10:16:13 -05:00
meleu 2a9f6d9d40 SNES hashing, just ignore header if it has one 2019-01-02 09:48:55 -05:00
Raphaël Zumer dc45fbada6 Include VROM in cheevos NES hash 2019-01-01 21:02:28 -05:00
radius 0a6df1743c [netplay] print upnp failed messages
[cheevos] fix warning
2019-01-01 11:22:58 -05:00
twinaphex 136a9db13f Silence warning - variable too small 2018-11-26 12:14:13 +01:00
natinusala bca0669833 ozone: fix cheevos badges, convert cheevos.c to LF 2018-11-19 10:23:55 +01:00
natinusala 158ddc0b2a New menu driver : ozone (Nintendo Switch lookalike) 2018-10-26 13:24:32 +02:00
meleu 87467be496
added cheevos console ID for atari7800 2018-10-17 16:37:41 -03:00
twinaphex ac14ea6d01 Go back to old cheevos 2018-10-01 15:02:51 +02:00
twinaphex f0c684707f Fix C89_BUILD 2018-10-01 03:28:39 +02:00
twinaphex 4c23fa02e9 (MSVC 2013) Fix build for rcheevos
(MSVC) Fix some warnings; unused variables, etc.
2018-09-30 13:38:58 +02:00
Twinaphex c4d0cdc7ea Get rid of some unused variables 2018-09-29 21:19:06 +02:00
Andre Leiradella d67aa83f48 Merge branch 'master' into integrate_rcheevos 2018-09-27 21:48:34 +01:00
Andre Leiradella ad992d227b Guard against null settings; only test leaderboards if enabled 2018-09-26 23:03:31 +01:00
radius a0339e95ec Reset the flag on reset 2018-09-22 21:27:19 -05:00
radius c4d678a1ce reset the flag on Resume 2018-09-22 11:43:41 -05:00
radius c07744564a prevent retroachievements cheating exploit
Revert "prevent retroachievements cheating exploit" and reimplement it in a better way

This reverts commit d323338caa4882925d184f5ee7a506bfa8c78c1e.
2018-09-22 11:43:34 -05:00
twinaphex e403b8fb1e C89 buildfixes 2018-09-10 20:35:30 +02:00
Raphaël Zumer 3a0c450e70 Support headerless NES hashing in cheevos.c 2018-09-10 00:15:52 -04:00
Andre Leiradella 377d256ce9 Properly initialize cheevos_locals 2018-09-03 22:51:07 +01:00
Andre Leiradella 4c01697d3f Use the correct console id 2018-09-03 19:17:03 +01:00
Andre Leiradella 2d7c4b4f9d Use CHEEVOS_TAG 2018-09-02 15:11:33 +01:00
Andre Leiradella 0f6cdde65b Fixed indentation 2018-09-02 15:00:42 +01:00
Andre Leiradella ae5ff31b45 Fixed screenshot code after merge 2018-09-02 14:56:12 +01:00
Andre Leiradella 613a3e8479 Integrated rcheevos 2018-09-02 14:23:37 +01:00
Brad Parker b0146abd11 add fullpath and use_thread parameters to take_screenshot() 2018-08-18 23:08:55 -04:00
twinaphex 02eb650273 We should use strlcpy instead of strncpy 2018-08-13 03:07:12 -07:00
twinaphex 9d6de6b60d Buildfix for MSVC 2010 2018-06-25 19:49:41 +02:00
meleu 536638eaf6 support for ResetIf/PauseIf HitCount 2018-06-23 17:25:16 -03:00
meleu 0ffe0f8513
fix crash when scrolling cheevos list. fixes #6732 2018-06-04 10:07:18 -03:00
radius b25a2b49c4 move pause entry to achievements menu 2018-05-13 14:26:38 -05:00
radius f3c29b43eb disable cheevos_hardcore_paused on contant load 2018-05-13 13:40:30 -05:00
radius aa86d78183 add quick menu action to pause / resume hardcore mode for current session 2018-05-13 13:40:30 -05:00
radius 7216726664 add cheevos_hardcore_active, cleanup whitespaces 2018-05-13 13:40:29 -05:00
twinaphex 4f549bc55c (cheevos) Silence PS3 warnings
(PS3) Add HAVE_DR_MP3
2018-05-07 17:45:43 +02:00
Andre Leiradella f04548a95d Fixed warning about unused STUB_LOG; removed unused debug functions 2018-04-25 18:02:31 +01:00
Andre Leiradella 029ba3d2f6 Mute cheevos logging, define CHEEVOS_VERBOSE in cheevos.h to enable 2018-04-25 17:56:15 +01:00
twinaphex 9a7ca5fe57 C89 buildfix 2018-04-25 12:02:35 +02:00
Celerizer 212d7bfbe1 [Cheevos] Store only login token, not password 2018-04-25 10:42:50 +02:00
meleu 3fb2484869
removed unnecessary memory adjustment 2018-04-16 17:01:43 -03:00
twinaphex 6761ec471d Silence some Coverity warnings 2018-04-12 21:39:31 +02:00
Twinaphex 08a54e45f2 Get rid of a lot of implicit conversions 2018-04-09 15:56:45 +02:00
radius 94e4357fd4 return early in case path is null and move vars to the top 2018-03-24 19:11:07 -05:00
radius 51c9ac4f7a fix crash related to achievements on non-fullpath cores 2018-03-24 17:52:23 -05:00
meleu d2d8f00b29
cheevos.c: getting the hash from ROM's filename
This is the method we'll use for arcade games.
2018-03-21 11:21:33 -03:00
twinaphex 72dc03a1c6 Try to fix Coverity warnings 2018-03-19 06:58:36 +01:00
radius c52fdc469f remove task_push_http_transfer_raw, encode before sending data to the task 2018-03-16 22:38:21 -05:00
meleu eb5a69ded3 fixing cheevos (broken after #6389) 2018-03-16 01:03:57 -03:00
meleu ca6df1ae32
Support Game Gear
The Console ID 15 was changed to Game Gear at RetroAchievements database.

http://retroachievements.org/gameList.php?c=15
2018-03-15 16:40:19 -03:00
meleu 6346f18133 added cheevos_auto_screenshot 2018-03-14 22:41:51 -03:00
GameDragon2k 44d3561468 Reset Add buffer when hit condition is triggered 2018-02-15 14:30:46 -05:00
GameDragon2k 468256a8f8 Reset hits after evaluation. 2018-02-13 21:56:04 -05:00
GameDragon2k 79219c1640 Fix issue regarding Add Hits condition type 2018-02-13 21:43:41 -05:00
Brad Parker 039da3bb83 C89 buildfix 2018-02-06 22:17:32 -05:00
twinaphex 3d0e768e71 Silence some Coverity errors 2018-02-04 19:30:34 +01:00
leiradel 8b5e7c45d0 Fixed empty menu when there are no cheevos 2018-02-04 15:32:17 +00:00
leiradel dda52a1eed Fixed unable to use savestates when the game has no cheevos and an associated freeze 2018-02-01 21:54:11 +00:00
leiradel 9c695765dd Fixed crash when a content is loaded before the cheevos task for the previous content was finished 2018-01-31 21:10:08 +00:00
leiradel 8147e6f31c Remove cheevos stuff from coro.h; add macros to increase readability 2018-01-30 17:47:20 +00:00
leiradel d3d4c5740c Merge branch 'master' of https://github.com/libretro/RetroArch 2018-01-29 22:03:17 +00:00
twinaphex 604024b799 Revert "Fixed crash when the content is closed and the cheevos are still being loaded"
This reverts commit 7b39da0848.
2018-01-29 17:30:47 +01:00
leiradel 7b39da0848 Fixed crash when the content is closed and the cheevos are still being loaded 2018-01-29 17:25:15 +01:00
twinaphex 3a981e081c Cleanups 2018-01-23 21:46:46 +01:00
leiradel e54da03ddc Fixed crash when the content is closed and the cheevos are still being loaded 2018-01-20 14:35:25 +00:00
twinaphex 58e87387d5 Try to prevent more null pointer dereferences; more general cleanups 2018-01-19 19:15:05 +01:00
twinaphex f03180c31a Cleanups - do some early returns in case we get a NULL pointer
dereference
2018-01-19 18:42:50 +01:00
twinaphex 92a18e411c (cheevos) Get rid of a lot of macros - make it more understandable 2018-01-19 18:25:54 +01:00
twinaphex 4f16ff8c2e Remove macros CORO_LEAVE/CORO_ENTER/CORO_SUB 2018-01-19 16:54:44 +01:00
twinaphex bd883ad4d5 (cheevos) Get rid of some of these macros 2018-01-19 16:45:53 +01:00
leiradel ba661a3af4 Fixed HTTP request for cheevos; fixed handling invalid cheevos 2018-01-03 21:34:52 +00:00
twinaphex 9b2cfc4867 Updates 2017-12-31 18:04:10 +01:00
twinaphex bd16fd49ab Fix ./configure --disable-rgui 2017-12-31 17:53:11 +01:00
twinaphex 794de84961 Get rid of variable-length array 2017-12-30 08:09:35 +01:00
celerizer a2ab7defa9
Fix unofficial achievements not being loaded
RetroArch is currently returning only achievements with flag 3 from the site, regardless of whether "Test Unofficial" is on or not. This change makes RetroArch return every achievement from the site when this the option is on or only those marked with Flag 3 (core cheevos) when off.
2017-12-28 17:48:58 -06:00
celerizer a79bd5a509
Support Neo Geo Pocket
For after https://github.com/libretro/beetle-ngp-libretro/pull/37 is merged.
2017-12-28 16:38:57 -06:00
twinaphex c7c4b723d6 Move path_file_exists to filestream and do away with filestream
dependencies in file/file_path
2017-12-14 20:05:46 +01:00
gblues 6904101c44 Clean up trailing whitespace
== DETAILS

Really simple code cleanup, because my editor flags trailing whitespaces
and it's pretty annoying.
2017-12-12 00:24:18 -08:00
twinaphex c4d8a8c800 Free after intfstream_close 2017-12-11 20:24:00 +01:00
twinaphex e62e9233d7 Add intfstream_get_size 2017-12-11 13:21:44 +01:00
twinaphex 61d3f90cae Add hint defines to libretro.h 2017-12-11 12:53:47 +01:00
twinaphex 318f17c4cb Start using VFS API constant defines 2017-12-11 12:15:00 +01:00
twinaphex 2e979ec537 Replace function signatures of file_stream file functions 2017-12-10 22:25:38 +01:00
Twinaphex 8b095eda74
Merge pull request #5878 from leiradel/cheevos_loaded
Fixed cheevos_loaded being true when there are no cheevos
2017-12-08 06:39:46 +01:00
leiradel 8c1e3e5d5b Fixed CXX_BUILD 2017-12-08 00:08:16 +00:00
leiradel c53d3d35b8 Removed TODO comment 2017-12-07 23:51:15 +00:00
leiradel bf8f7b444b Fixed cheevos_expr_value to be C89 compliant 2017-12-07 23:48:03 +00:00
leiradel 130a001846 Fixed wrong leaderboard count 2017-12-07 19:49:39 +00:00
twinaphex 32c1c3134e Fix another C89 issue 2017-12-05 16:45:57 +01:00
twinaphex f9fa2ab2b7 More C89_BUILD fixes 2017-12-05 16:44:05 +01:00
twinaphex 863858ab00 Can't have anonymous variadic macros in C89 2017-12-05 16:42:37 +01:00
twinaphex 3ede6a9aeb Some C89_BUILD fixes 2017-12-05 16:35:03 +01:00
leiradel ebbd1883ff Merge branch 'master' into cheevos_loaded 2017-11-26 22:50:39 +00:00
Andre Leiradella 6903602665 Set cheevos_loaded to false if the cheevos and leaderboard lists are empty 2017-11-26 22:03:59 +00:00
radius 88e84d1c79 fix a mistake I made when rewriting this code 2017-11-24 08:40:29 -05:00
radius 9b19d334c7 use a single list for achievements 2017-11-23 22:49:11 -05:00
Twinaphex a490039253
Merge pull request #5759 from fr500/master
Achievement badges
2017-11-24 04:09:33 +01:00
twinaphex 8662d66f2e Try to be safer with calloc allocation 2017-11-24 04:08:32 +01:00
radius ca2d2e4ba5 undefine this 2017-11-23 21:43:08 -05:00
radius 36b9bd9675 free CHEEVOS_VAR_JSON 2017-11-23 21:33:41 -05:00
Andrés 3744108790
Revert "use a single list for achievements" 2017-11-23 20:49:42 -05:00
radius 64f927292f use a single list for achievements 2017-11-23 20:35:54 -05:00
radius faef304755 use filestream_write_file instead 2017-11-23 17:53:28 -05:00
radius a865720d25 indentation 2017-11-23 17:49:55 -05:00
radius 459b669798 use filestream 2017-11-23 17:47:50 -05:00
radius a80fc4a762 revert this for now 2017-11-23 17:40:22 -05:00
radius 1c0e692070 rewrite so the variables are not allocated on stack 2017-11-23 17:07:22 -05:00
radius e55adf164a Merge remote-tracking branch 'gamedragon/cheevos_badges' 2017-11-23 14:42:55 -05:00
GameDragon2k 2b9636d782 Add xmb menu items 2017-11-23 11:55:53 -05:00
GameDragon2k cfe59bcf2a Cheevos badges 2017-11-23 08:04:54 -05:00
GameDragon2k 63090ae2e4 Simple http request function to download badges. 2017-11-23 08:02:41 -05:00
GameDragon2k 8b9ad28ecb channges to populate and apply badges. 2017-11-23 07:56:47 -05:00
GameDragon2k ec2808685d Add files to handle all cheevos badges. 2017-11-23 07:56:46 -05:00
GameDragon2k 84e80e47df Initial test for badge icon 2017-11-23 07:53:24 -05:00