| 
									
										
										
										
											2021-02-21 06:58:40 +00:00
										 |  |  | # v10.0.0
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-21 17:00:14 +00:00
										 |  |  | * add rapi sublibrary for communicating with server (eliminates need for client-side JSON parsing; client must still | 
					
						
							|  |  |  |   provide HTTP functionality). rurl is now deprecated | 
					
						
							|  |  |  | * renamed 'rhash.h' to 'rc_hash.h' to eliminate conflict with system headers, renamed 'rconsoles.h' and 'rurl.h' for  | 
					
						
							|  |  |  |   consistency | 
					
						
							|  |  |  | * split non-runtime functions out of 'rcheevos.h' as they're not needed by most clients | 
					
						
							| 
									
										
										
										
											2021-02-21 06:58:40 +00:00
										 |  |  | * allow ranges in rich presence lookups | 
					
						
							| 
									
										
										
										
											2021-06-21 17:00:14 +00:00
										 |  |  | * add rc_richpresence_size_lines function to fetch line associated to error when processing rich presence script | 
					
						
							|  |  |  | * add rc_runtime_invalidate_address function to disable achievements when an unknown address is queried | 
					
						
							| 
									
										
										
										
											2021-02-21 06:58:40 +00:00
										 |  |  | * add RC_CONDITION_RESET_NEXT_IF | 
					
						
							| 
									
										
										
										
											2021-06-21 17:00:14 +00:00
										 |  |  | * add RC_CONDITION_SUB_HITS | 
					
						
							|  |  |  | * support MAXOF operator ($) for leaderboard values using trigger syntax | 
					
						
							| 
									
										
										
										
											2021-02-21 06:58:40 +00:00
										 |  |  | * allow RC_CONDITION_PAUSE_IF and RC_CONDITION_RESET_IF in leaderboard value expression | 
					
						
							|  |  |  | * changed track parameter of rc_hash_cdreader_open_track_handler to support three virtual tracks: | 
					
						
							|  |  |  |   RC_HASH_CDTRACK_FIRST_DATA, RC_HASH_CDTRACK_LAST and RC_HASH_CDTRACK_LARGEST. | 
					
						
							| 
									
										
										
										
											2021-06-21 17:00:14 +00:00
										 |  |  | * changed offset parameter of rc_hash_filereader_seek_handler and return value of rc_hash_filereader_tell_handler | 
					
						
							|  |  |  |   from size_t to int64_t to support files larger than 2GB when compiling in 32-bit mode. | 
					
						
							| 
									
										
										
										
											2021-02-21 06:58:40 +00:00
										 |  |  | * reset to default cd reader if NULL is passed to rc_hash_init_custom_cdreader | 
					
						
							| 
									
										
										
										
											2021-06-21 17:00:14 +00:00
										 |  |  | * add hash support for RC_CONSOLE_DREAMCAST, RC_CONSOLE_PLAYSTATION_2, RC_CONSOLE_SUPERVISION, and RC_CONSOLE_TIC80 | 
					
						
							|  |  |  | * ignore headers when generating hashs for RC_CONSOLE_PC_ENGINE and RC_CONSOLE_ATARI_7800 | 
					
						
							|  |  |  | * require unique identifier when hashing RC_CONSOLE_SEGA_CD and RC_CONSOLE_SATURN discs | 
					
						
							|  |  |  | * add expansion memory to RC_CONSOLE_SG1000 memory map | 
					
						
							| 
									
										
										
										
											2021-02-21 06:58:40 +00:00
										 |  |  | * rename RC_CONSOLE_MAGNAVOX_ODYSSEY -> RC_CONSOLE_MAGNAVOX_ODYSSEY2 | 
					
						
							|  |  |  | * rename RC_CONSOLE_AMIGA_ST -> RC_CONSOLE_ATARI_ST | 
					
						
							| 
									
										
										
										
											2021-06-21 17:00:14 +00:00
										 |  |  | * add RC_CONSOLE_SUPERVISION, RC_CONSOLE_SHARPX1, RC_CONSOLE_TIC80, RC_CONSOLE_THOMSONTO8 | 
					
						
							| 
									
										
										
										
											2021-02-21 06:58:40 +00:00
										 |  |  | * fix error identifying largest track when track has multiple bins | 
					
						
							|  |  |  | * fix memory corruption error when cue track has more than 6 INDEXs | 
					
						
							|  |  |  | * several improvements to data storage for conditions (rc_memref_t and rc_memref_value_t structures have been modified) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # v9.2.0
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * fix issue identifying some PC-FX titles where the boot code is not in the first data track | 
					
						
							|  |  |  | * add enums and labels for RC_CONSOLE_MAGNAVOX_ODYSSEY, RC_CONSOLE_SUPER_CASSETTEVISION, RC_CONSOLE_NEO_GEO_CD, | 
					
						
							|  |  |  |   RC_CONSOLE_FAIRCHILD_CHANNEL_F, RC_CONSOLE_FM_TOWNS, RC_CONSOLE_ZX_SPECTRUM, RC_CONSOLE_GAME_AND_WATCH, | 
					
						
							|  |  |  |   RC_CONSOLE_NOKIA_NGAGE, RC_CONSOLE_NINTENDO_3DS | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # v9.1.0
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * add hash support and memory map for RC_CONSOLE_MSX | 
					
						
							|  |  |  | * add hash support and memory map for RC_CONSOLE_PCFX | 
					
						
							|  |  |  | * include parent directory when hashing non-arcade titles in arcade mode | 
					
						
							|  |  |  | * support absolute paths in m3u | 
					
						
							|  |  |  | * make cue scanning case-insensitive | 
					
						
							|  |  |  | * expand SRAM mapping for RC_CONSOLE_WONDERSWAN | 
					
						
							|  |  |  | * fix display of measured value when another group has an unmeasured hit count | 
					
						
							|  |  |  | * fix memory read error when hashing file with no extension | 
					
						
							|  |  |  | * fix possible divide by zero when using RC_CONDITION_ADD_SOURCE/RC_CONDITION_SUB_SOURCE | 
					
						
							|  |  |  | * fix classification of secondary RC_CONSOLE_SATURN memory region | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # v9.0.0
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * new size: RC_MEMSIZE_BITCOUNT | 
					
						
							|  |  |  | * new flag: RC_CONDITION_OR_NEXT | 
					
						
							|  |  |  | * new flag: RC_CONDITION_TRIGGER | 
					
						
							|  |  |  | * new flag: RC_CONDITION_MEASURED_IF | 
					
						
							|  |  |  | * new operators: RC_OPERATOR_MULT / RC_OPERATOR_DIV | 
					
						
							|  |  |  | * is_bcd removed from memref - now part of RC_MEMSIZE | 
					
						
							|  |  |  | * add rc_runtime_t and associated functions | 
					
						
							|  |  |  | * add rc_hash_ functions | 
					
						
							|  |  |  | * add rc_error_str function | 
					
						
							|  |  |  | * add game_hash parameter to rc_url_award_cheevo | 
					
						
							|  |  |  | * remove hash parameter from rc_url_submit_lboard | 
					
						
							|  |  |  | * add rc_url_ping function | 
					
						
							|  |  |  | * add rc_console_ functions | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # v8.1.0
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * new flag: RC_CONDITION_MEASURED | 
					
						
							|  |  |  | * new flag: RC_CONDITION_ADD_ADDRESS | 
					
						
							|  |  |  | * add rc_evaluate_trigger - extended version of rc_test_trigger with more granular return codes | 
					
						
							|  |  |  | * make rc_evaluate_value return a signed int (was unsigned int) | 
					
						
							|  |  |  | * new formats: RC_FORMAT_MINUTES and RC_FORMAT_SECONDS_AS_MINUTES | 
					
						
							|  |  |  | * removed " Points" text from RC_FORMAT_SCORE format | 
					
						
							|  |  |  | * removed RC_FORMAT_OTHER format. "OTHER" format now parses to RC_FORMAT_SCORE | 
					
						
							|  |  |  | * bugfix: AddHits will now honor AndNext on previous condition | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # v8.0.1
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * bugfix: prevent null reference exception if rich presence contains condition without display string | 
					
						
							|  |  |  | * bugfix: 24-bit read from memory should only read 24-bits | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # v8.0.0
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * support for prior operand type | 
					
						
							|  |  |  | * support for AndNext condition flag | 
					
						
							|  |  |  | * support for rich presence | 
					
						
							|  |  |  | * bugfix: update delta/prior memory values while group is paused | 
					
						
							|  |  |  | * bugfix: allow floating point number without leading 0 | 
					
						
							|  |  |  | * bugfix: support empty alt groups | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # v7.1.1
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * Address signed/unsigned mismatch warnings | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # v7.1.0
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * Added the RC_DISABLE_LUA macro to compile rcheevos without Lua support | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # v7.0.2
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * Make sure the code is C89-compliant | 
					
						
							|  |  |  | * Use 32-bit types in Lua | 
					
						
							|  |  |  | * Only evaluate Lua operands when the Lua state is not `NULL` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # v7.0.1
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * Fix the alignment of memory allocations | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # v7.0.0
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * Removed **rjson** | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # v6.5.0
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * Added a schema for errors returned by the server | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # v6.4.0
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * Added an enumeration with the console identifiers used in RetroAchievements | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # v6.3.1
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * Pass the peek function and the user data to the Lua functions used in operands. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # v6.3.0
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * Added **rurl**, an API to build URLs to access RetroAchievements web services. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # v6.2.0
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * Added **rjson**, an API to easily decode RetroAchievements JSON files into C structures. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # v6.1.0
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * Added support for 24-bit operands with the `'W'` prefix (`RC_OPERAND_24_BITS`) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # v6.0.2
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * Only define RC_ALIGNMENT if it has not been already defined | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # v6.0.1
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * Use `sizeof(void*)` as a better default for `RC_ALIGNMENT` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # v6.0.0
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * Simplified API: separate functions to get the buffer size and to parse `memaddr` into the provided buffer | 
					
						
							|  |  |  | * Fixed crash trying to call `rc_update_condition_pause` during a dry-run | 
					
						
							|  |  |  | * The callers are now responsible to pass down a scratch buffer to avoid accesses to out-of-scope memory | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # v5.0.0
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * Pre-compute if a condition has a pause condition in its group | 
					
						
							|  |  |  | * Added a pre-computed flag that tells if the condition set has at least one pause condition | 
					
						
							|  |  |  | * Removed the link to the previous condition in a condition set chain | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # v4.0.0
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * Fixed `ret` not being properly initialized in `rc_parse_trigger` | 
					
						
							|  |  |  | * Build the unit tests with optimizations and `-Wall` to help catch more issues | 
					
						
							|  |  |  | * Added `extern "C"` around the inclusion of the Lua headers so that **rcheevos** can be compiled cleanly as C++ | 
					
						
							|  |  |  | * Exposed `rc_parse_value` and `rc_evaluate_value` to be used with rich presence | 
					
						
							|  |  |  | * Removed the `reset` and `dirty` flags from the external API | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # v3.2.0
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * Added the ability to reset triggers and leaderboards | 
					
						
							|  |  |  | * Add a function to parse a format string and return the format enum, and some unit tests for it | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # v3.1.0
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * Added `rc_format_value` to the API | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # v3.0.1
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * Fixed wrong 32-bit value on 64-bit platforms | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # v3.0.0
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * Removed function rc_evaluate_value from the API | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # v2.0.0
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * Removed leaderboard callbacks in favor of a simpler scheme | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # v1.1.2
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * Fixed NULL pointer deference when there's an error during the parse | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # v1.1.1
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * Removed unwanted garbage | 
					
						
							|  |  |  | * Should be v1.0.1 :/ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # v1.0.0
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * First version |