Releases: RetroAchievements/RAIntegration
Releases · RetroAchievements/RAIntegration
RAIntegration 1.4.2
- fix popups not showing up for local leaderboards
- fix merging of locally modified published assets during load
- improve performance when there are hundreds of active achievements
RAIntegration 1.4.1
For players:
- Don't automatically enable unofficial achievements when toggling hardcore mode
- Improve performance loading games with achievements for large collections
For developers:
- Support for defining custom memory ranges
- Add filter to unknown game dialog
- Tooltips for value comparisons will try to show the matching value subclause from the address note
- Tooltips for bit reads will try to show the matching bit subclause from the address note
- Tooltips for address offsets within a ranged note will now display in hex
- Tooltips are now restricted to 25 lines to prevent flashing when they exceed the screen height
- Missing code note warnings are now immediately revalidated when notes are modified
- Validation warnings now have severity so more important errors are reported first
- Improved performance exporting large search results
- Improved warning when using {recall} in a PauseIf condition where Remember is not part of the PauseIf logic
- Ctrl+Click on editable cell will no longer deselect the cell before opening the editor
[float 32-bit]note annotation will now be classified as float instead of 32-bit- Removing all conditions from the start/submit/cancel sections of a leaderboard will mark it as invalid instead of ignoring the change
- Fix UI not updating when loading a save state while paused when using rc_client_external
- Fix Pause on Trigger not activating when using rc_client_external
- Fix deadlock trying to show Paused on Trigger/Change dialog from non-UI thread
- Fix assertion error activating many achievements at once while not paused
- Fix New Field button on Pointer Inspector dialog always being disabled
- Fix clone achievement not cloning achievement type
- Fix indirect bookmark size change not being persisted between sessions
- Fix frozen indirect float BE being written as non-BE float
- Fix exception trying to show tooltip for {recall} without Remember
- Fix infinite loop processing "Remember {recall}" with no modifiers
- Fix warning about conflicting conditions when comparing an indirect address to its delta
- Fix warning about reset with no hit targets if hit target is in the middle of an AndNext chain
- Fix warning about sum of values exceeding size of last value
Framework:
- x64 build now generates an
RA_Integration-x64.dllinstead of just a x64 build ofRA_Integration.dll - Start moving non-UI code to DevKit library
- Move global string functions into ra::util::String static class
RAIntegration 1.4.0
For players:
- Support for multi-set (once enabled on the server)
- Fix user image not updating when name changes
For developers:
- Support for multi-set (once enabled on the server)
- New Pointer Inspector dialog (allows browsing pointed-at data and easier modification of pointer notes)
- Support for multiple levels of indirection in condition tooltips for pointer chains
- Add tooltip for recall value in condition list
- Ability to bookmark pointer chains
- New bookmarks will attempt to select hex/dec based on information in associated note (when available)
- Attempting to open a tool window that is already open will bring it in front of other already open tool windows
- Support for aligned searches for floats/doubles
- Pressing F2 in bookmark window opens the text field for the bookmark description
- Disable Delete All button when viewing local assets
- Allow memory modifications without a loaded game
- Expanded memory map for SNES and SegaCD
- Double clicking address in code notes window will now also open memory inspector if it's not already open
- Fix crash activating leaderboard without filling in all conditions
- Fix crash toggling Track as % on new achievement
- Fix conflict warnings for conditions in chains (following AddSource/AndNext/OrNext)
- Fix ResetIf being highlighted if it's true, but part of an AndNext chain that isn't true
Framework:
- Ability to dispatch memory reads to frame processing loop instead of within the context of
the UI action that triggered the read - Asset Editor conditions list is now virtualized - this should improve performance when large achievement
is open while emulator is running as items not in current scroll window don't need to be updated - Support for NES -> FDS split
RAIntegration 1.3.1
For players:
- Report issue dialog redirects to website to leverage new guided issue feature
- Fix leaderboard popups displaying when position is set to None.
- Fix friends list appearing empty
- Fix crash viewing recent games list if it contains a large number of not-so-recent games
For developers:
- Add modulus operator (%), addition operator (+), and subtraction operator (-)
- Add Remember flag and Recall data type
- Add Pause button to memory bookmarks window
- Add import button to memory viewer to start a new search using data from an export
- Move Pointer Finder out of "Open All" subsection of menu
- Ability to increment/decrement value at cursor in memory viewer using numpad +/-
- Attempt to re-queue uploads that fail with 429 Too Many Requests
- Fix memory display when total exposed memory is not a multiple of 16.
- Fix deadlock using tools in RAMeka
- Fix crash narrowing search after excluding results
- Fix crash reverting active published achievement when open in editor
- Fix crash trying to publish achievement with no conditions
- Fix achievement type dropdown not updating hen resetting achievement
- Fix target value visibility not updating when changing condition flag
Framework:
- Raise RC_CLIENT_RAINTEGRATION_EVENT_MENU_CHANGED rc_client_raintegration event when login status changes
- Support for client-side hashing when using rc_client_raintegration
RAIntegration 1.3.0
For players:
- Show softcore score at login and in overlay when hardcore is disabled
- Show rarity in achievement popups (new sound for very rare unlocks - overlay/rareunlock.wav)
- New collapsible subheaders in overlay
- Show progression/win/missable indicators in overlay
For developers:
- Add ASCII display to memory viewer (when wide enough)
- Support for Float BE data type
- Support for Double32/Double32 BE data types
- Support for marking achievement types (Missable/Progression/Win)
- Support for Seconds as Minutes leaderboard format
- Support for new leaderboard formats (Tens/Hundreds/Thousands/Fixed1/Fixed2/Fixed3/Unsigned)
- Improved support for following single-level indirect notes
- Don't show unknown game dialog when switching discs previously selected for compatibility testing
- Add warning about using ResetIf with a hit target of 1
- Prevent attempt to publish modified rich presence
- Fix conditions disappearing when toggling decimal while in an invalid state
- Fix count reporting 1 match when pointer finder doesn't find any matches
Framework:
- Several thread safety improvements
- Convert internal runtime to rc_client (allow more logic to be managed the same as in other clients)
- Export functions for loading dll through rc_client
RAIntegration 1.2.1
- Add 32-bit BE memory viewer size
- Report error when code note update fails
- Show "Too Many Requests" instead of "JSON Parse Error"
- Allow modifying operators to be selected for measured condition in leaderboard value
- Fix crash when Progress Indicator is updated when modifying memory while overlay is open
- Fix crash if Progress Indicator is updated from a background thread
- Fix indirect note addresses being skipped when using keyboard up to go to previous address
- Fix crash selecting a folder from the Overlay Settings dialog
- Fix crash selecting leaderboard value with alt groups after manually deactivating and reactivating leaderboard
- Fix AddHits chain total being 0 after switching between alt groups
RAIntegration 1.2.0
For players:
- Multiple active leaderboards with the same value definition will only show one tracker
- Added progress indicator widget
- Whenever a measured achievement's progress changes, shows that progress onscreen for a couple of seconds
For developers:
- Add pointer finder dialog
- Allows users to identify important memory across multiple save states and have the tool attempt to locate
any values that differ by the offsets between states. - Does not directly handle multiple levels of pointers, but the process can be repeated once a nested pointer
is found at multiple addresses.
- Allows users to identify important memory across multiple save states and have the tool attempt to locate
- Add aligned search types for 16-bit BE and 32-bit BE
- Change wording on achievement unlock popup for local and modified achievements
- Double-clicking address in bookmarks window will now open inspector if its not already open
- Indirect note fields are now readonly, instead of disabled
- Fix character input in grid editors when integrated with WinForms (BizHawk)
- Fix deadlock canceling publish notes
- Fix crash typing in memory viewer when cursor is offscreen
- Fix warning about memory addresses when core doesn't expose all regions
- Fix serialization of new leaderboard values using old format
- Fix intermittent flicker of memory view when moving to/from addresses with local notes
- Fix calculations using floats in SubSource
- Fix popups remaining open after emulator indicates game was closed
- Warn when using echo/mirror/kernel RAM
- Warn about redundancy between MeasuredIf and non-MeasuredIf conditions
RAIntegration 1.1.0
- Support for indirect code notes (code notes derived from a note on a pointer)
If the first line of a code note contains the keyword "pointer", then any following line that starts with a plus (no indent) immediately followed by a number (hexadecimal [0x prefix] or decimal, no whitespace) is treated as an indirect code note. After the number, any number of whitespace characters and/or a single non-alphanumeric character separate the indirect note from the offset. Following lines that don't start with a plus are also considered part of the indirect note. Some examples are shown here. - Support for local code notes
- Allows making temporary notes while trying to narrow down addresses
- Fixes loss of note-in-progress if selected address is changed
- Note modifications are kept locally until published to the server
- Unpublished notes will appear in red in the code notes window
- Notes are deleted by reverting (if not published) or by setting to blank and publishing
- Support for offline development (if the game was previously loaded in online mode)
- Offline mode is only activated if the server cannot be contacted during login.
It's not meant to be something a developer can just activate whenever they want. - Changes will be saved to local file (XXX-User.txt)
- Publishing is disabled
- Achievements unlocked in offline mode will not be sync'ed to the server, and will not be eligible for manual unlocks.
- Offline mode is only activated if the server cannot be contacted during login.
- Add Open All and Code Notes items to RetroAchievements menu
- Add MBF32 LE memory size
- Add BitCount search type
- Add XOR (^) AddSource/SubSource modifier
- Add ASCII as selectable size in bookmarks window
- Add warning when serialized size exceeds limit
- Add Export button to search results
- Automatically change asset filter to local if local assets exist and no published assets exist
- Changed points field on achievement editor to dropdown
- Allow Invert to be selected for non-value logic
- Allow rich presence monitor to be resized
- Fix app title being updated on login/logout when not using
RA_UpdateAppTitle - Fix search results being cleared when switching between disks of a multi-disk game
- Fix crash enabling highlights without a loaded asset
- Fix comparison against initial values for aligned searches
- Fix redundancy warning between trigger and non-trigger conditions
- Fix decoding of denormalized floats (values where exponent is 2^-127)
RAIntegration 1.0.4
- fix client ignoring server-modified rich presence script
- fix exception pressing New button with Rich Presence filter selected
- prevent saving achievement in invalid state when using Save All
- add
_RA_InstallMemoryBankBlockReaderexport
RAIntegration 1.0.3
- add rich presence to asset list
- remember previously selected game for Test Compatibility feature
- relax trigger validation when pasting
- show Inspecting Memory (instead of Developing Achievements) in rich presence if no local or core assets exist
- limit 'does not trigger' submissions to five achievements at a time
- fix issue uploading non-PNG achievement badges
- fix measured value from hitcount not resetting when paused
- export
_RA_GetPopupMenuItemsfunction as alternative for_RA_CreatePopupMenufor non-WinAPI menuing systems - support for non-standard ports when using a custom host