Commit Graph

346 Commits

Author SHA1 Message Date
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
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 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 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
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
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 f9fa2ab2b7 More C89_BUILD fixes 2017-12-05 16:44:05 +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 84e80e47df Initial test for badge icon 2017-11-23 07:53:24 -05:00
meleu 4318a43ab3
better grammar 2017-11-22 22:34:48 -02:00
meleu 8e0ee72283
cheevos: do not show "0 of 0 cheevos unlocked" msg
**This will happen only if `cheevos_verbose_enable = true`.**

When loading a game tha doesn't have any achievement, instead of showing an OSD message saying "You have 0 of 0 achievements unlocked." just say "This game doesn't have any achievement."

I've just added an `if(cheevos_locals.core.count > 0)` and added indentation. The diff makes it look like it got more changes than it actually got.
2017-11-22 12:56:17 -02:00
celerizer 7be0dd9b18
RA Leaderboards: BCD and Ignore Unused Fields
- Support for binary-coded-decimal submits (b0x1234)
- Ignore unused fields from older leaderboards (PRO, FOR, TTL, DES)
2017-11-19 14:16:49 -06:00
twinaphex c89ed117b6 Style nits 2017-11-18 19:11:14 +01:00
Rob Loach 6eb18ed03f
Fix some Cheevos free() memory calls 2017-11-18 12:40:46 -05:00
twinaphex e6e27fe4cb Silence one Coverity warning 2017-11-17 20:11:22 +01:00
twinaphex 56a3bc10e3 Conditional frees 2017-11-17 19:52:35 +01:00
Brad Parker 07f3919811 only call setvbuf right after opening file, and use our own buffer for C89 compliance 2017-11-17 02:28:45 -05:00
celerizer 6db4bd2d8a
RA Leaderboards: Submit condition hex multipliers
accidentally reverted a previous change
2017-11-12 11:27:12 -06:00
celerizer 91c40ddfbf
RA Leaderboards: Submit condition hex multipliers
Wasn't aware this was possible
2017-11-12 11:23:08 -06:00
celerizer b11922dd17
RA Leaderboards: comment fixes
//s to comment blocks
2017-11-11 19:58:08 -06:00
celerizer 6e8cb62cb8
RA Leaderboards: changes at leiradel's request
Fixes:
- The cheevos_print_xxx functions have moved to cheevos_format_value, will be better for RPS in the future.
- CHEEVOS_CONSOLE_ZX81_SPECTRUM -> CHEEVOS_CONSOLE_ZX81
- Remove all instances of CHEEVOS_ENABLE_LBOARDS
- cheevos_parse_format rewritten

New:
- Multiple values multiplied by nothing add correctly
- Failsafe to prevent LBs from submitting 0
- Memory patching for Atari 2600
2017-11-11 17:30:10 -06:00
celerizer 764290b851
Free memory on invalid LB, allow decimal multipliers 2017-11-10 07:17:07 -06:00
celerizer ea5de035bf
RetroAchievements leaderboards enable/fixes
- Leaderboards are enabled based on an Achievements settings boolean
- Leaderboards don't trigger in softcore
- Values multiplied by nothing are correctly parsed
- Leaderboard memaddrs are patched based on console like cheevos
- Support for '$' operator added
- Human-readable formatting for LB values
2017-11-09 20:33:29 -06:00
celerizer 7e185b7ce4
Leaderboard fixes, functions
Values multiplied by nothing always correctly add, leaderboard memaddrs are patched, support for '$' operator.
2017-11-09 19:48:38 -06:00
celerizer 1fe0002a21
Leaderboards
Fixed crashing errors for certain leaderboard expressions, added OSD messages, enable/disable options in menus, only allow LBs in hardcore mode, read FormatType and display accordingly on submit, memaddr patching for LB values (may not actually be needed), preliminary RPS stuff.
2017-10-31 01:08:29 -05:00
Andre Leiradella 9ee28f0f24 Moved all cheevos_cond_t related stuff to their own files 2017-10-22 19:42:15 +01:00
Andre Leiradella cd918390bb Moved all cheevos_var_t related stuff to their own files 2017-10-22 17:11:23 +01:00
Andre Leiradella 83f6e70bfa Removed commas from the last enumerations values 2017-10-22 11:51:39 +01:00
Andre Leiradella aa8b7f65c5 Added a different code path to calculate the hash for Atari Lynx ROMs 2017-10-21 19:22:22 +01:00
Andre Leiradella c7849de707 Fixed some cheevos with required hits not registering 2017-10-15 16:51:26 +01:00
Andre Leiradella d6dbe9a6ad Fixed some memory leaks; added logs for address patching 2017-10-15 16:49:25 +01:00
Andre Leiradella 1e40f73b76 Renamed coroutine variables to fix the griffin build 2017-10-15 13:35:49 +01:00
Andre Leiradella f462d5e7c2 A saner way to how only retry messages 2017-10-14 14:06:26 +01:00
Andre Leiradella aadc532b9c Only show retry messages after the first try 2017-10-14 13:44:24 +01:00
Andre Leiradella 5b7262d83f Added five retries with 3 secs interval for network connections during cheevos initialization 2017-10-14 12:53:14 +01:00
Andre Leiradella 9d817f95f5 Fixed wrong message when deactivating cheevos 2017-10-03 21:03:48 +01:00
Andre Leiradella 355b6dcbdd Merge branch 'master' of https://github.com/libretro/RetroArch 2017-10-03 20:07:19 +01:00
Rob Loach d87d57a368
Fix the Cheevos log message format 2017-10-03 02:34:04 -04:00
Andre Leiradella 3010b8ab2e Fixed Add/Sub source conditions 2017-08-26 12:53:10 +01:00
Andre Leiradella 7846f0312b Conditions are true by default 2017-08-26 12:44:35 +01:00
Andre Leiradella 8cae8a5720 Fixes to the new condition types 2017-08-17 21:14:50 +01:00
ensra 6a36453f20 Cast ctype args to unsigned char 2017-08-08 12:21:48 +01:00
twinaphex ab936adf1c Some C89 buildfixes 2017-08-06 17:08:29 +02:00
Andre Leiradella 2444d8b39c Fix GBC cheevos using addresses in the Echo RAM 2017-07-09 18:32:53 +01:00
Andre Leiradella 3a590f126d Increased size limit to compute hashes because of 64 Mb N64 games 2017-07-09 01:15:21 +01:00
Andre Leiradella c3650f077a Removed the lazy initialization stuff, it's not needed anymore 2017-07-08 23:05:35 +01:00
Andre Leiradella a62052eb0a Added support for N64 cheevos 2017-07-08 21:15:04 +01:00
Andre Leiradella abd22ae770 Dump delay to wait for Mupen64 to initialize 2017-07-08 00:48:26 +01:00
Andre Leiradella 5e2e586f6e Support N64 cheevos 2017-07-07 23:12:38 +01:00
meleu b4902e7df5 small fix on number of unlocked cheevos message
The previous version was showing the number of **locked** cheevos.
2017-07-03 17:16:39 -03:00
meleu e9d8525e29 show login info only after a RA login procedure
The previous logic shows login info every time a game is launched.
2017-07-02 08:38:44 +01:00
meleu 58de712b77 show useful OSD messages to cheevos users after launching a game 2017-07-01 23:20:44 -03:00
twinaphex b11620e1eb Add retro_timers.h/retro_math.h 2017-06-28 04:41:38 +02:00
Twinaphex 808b973752 (OSX) Silence warnings 2017-05-16 08:44:17 +02:00
Andre Leiradella 4a611b5096 Use next_pow2 2017-05-14 21:59:29 +01:00
twinaphex 80d9d1f143 Rewrite task_queue 2017-05-14 20:43:48 +02:00
twinaphex 055044be96 Set these values back to defaults here 2017-05-14 04:13:08 +02:00
twinaphex c78ce113b4 CXX_BUILD buildfix 2017-05-14 03:29:26 +02:00
twinaphex e5ed82858f C89_BUILD buildfix 2017-05-14 03:24:59 +02:00
Andre Leiradella 4764ba8770 Removed debug logs; added activity log 2017-05-14 01:20:07 +01:00
Andre Leiradella fb5d31816d Taskified cheevos 2017-05-14 01:01:17 +01:00
twinaphex 42ebe7a7ad Merge runloop.c and retroarch.c 2017-05-11 09:11:46 +02:00
Andre Leiradella 7404abf938 Don't use more than 32 MB of the content data to compute the hash 2017-05-07 19:46:22 +01:00
Andre Leiradella 844d1475e6 Reverted cheevos changes in preparation for conversion to task; fixed 4884 2017-05-07 19:06:03 +01:00
twinaphex 33f2fe8029 Move cheevos.c to tasks/task_cheevos.c and add TODO/FIXME note 2017-05-06 05:50:46 +02:00
twinaphex 2c28505e04 Refactor cheevos_load 2017-05-06 05:13:28 +02:00
twinaphex dfed19cb4d (Cheevos) More cleanups 2017-05-04 16:15:19 +02:00
twinaphex 10b636f80d (Cheevos) Cleanups 2017-05-04 16:13:11 +02:00
Andre Leiradella 7058207197 Prevent the menu from getting garbage for the cheevos list 2017-04-29 18:50:52 +01:00
Andre Leiradella 982c862deb Undefine the macro by default 2017-04-29 14:42:04 +01:00
Andre Leiradella 8a50b7373b Added a define to save the achievements JSON 2017-04-29 14:37:09 +01:00
twinaphex f0c2d786ae Update arrays struct 2017-04-28 22:59:13 +02:00
twinaphex ed53be7c81 Move all bool settings 2017-04-28 14:11:34 +02:00
twinaphex ace37d2c7a Cleanups 2017-04-27 01:10:44 +02:00
twinaphex 3ec5816259 Rewrite RUNLOOP_CTL_SYSTEM_INFO_GET 2017-04-23 16:41:26 +02:00
Twinaphex 216e7bcdaf Silence more warnings on iOS 2017-02-26 21:46:19 +01:00
Twinaphex b7b3b2cb5f Try to prevent truckload of warnings on iOS 2017-02-26 10:33:03 +01:00
Andre Leiradella 1b2685949a Fix for when net_http_get returns NET_HTTP_GET_OK but a NULL body 2017-02-15 21:30:47 +00:00
twinaphex 0143b537a8 Avoid warnings 2017-02-13 20:24:27 +01:00
Andre Leiradella 4fc758799f Only compile support for leaderboards if CHEEVOS_ENABLE_LBOARDS is defined 2017-02-12 16:18:32 +00:00
Twinaphex 8d2bafb279 Merge pull request #4596 from leiradel/master
Fixed crash in cheevos_get_description
2017-02-08 21:43:53 +01:00
Andre Leiradella 3785fc4524 Fixed crash in cheevos_get_description 2017-02-08 19:45:01 +00:00
Twinaphex cea6945963 Merge pull request #4571 from leiradel/master
Added preliminary support for Retro Achievements leaderboards
2017-02-06 05:53:33 +01:00
twinaphex 52d46dcaf4 Fix another relative include 2017-02-06 05:51:51 +01:00
twinaphex 6e5b7c3a7b Fix relative includes 2017-02-06 05:51:28 +01:00
Andre Leiradella bfcb8227f5 Fix typpo; parse constant values in leaderboards 2017-02-05 17:00:07 +00:00
Andre Leiradella b5153ced9d Make leaderboard term multipliers signed; mark leaderboards explicitly in log messages 2017-02-05 16:39:14 +00:00
Andre Leiradella 6b9ba1e2b1 Added preliminary support for Retro Achievements leaderboards 2017-02-05 16:23:13 +00:00
Andre Leiradella 0c8ee93e3e Moved cheevos files to their own folder in preparation for the changes to support leaderboards 2017-02-03 10:03:57 +00:00