Releases: Jamiras/RATools
Releases · Jamiras/RATools
v1.15.0
- add
double32
anddouble32_be
memory accessors - add
array_contains
anddictionary_contains_key
functions - add
rich_presence_ascii_string_lookup
function - add
assert
function - support for turning complex arithmetic into remember/recall chains
- support for runtime modulus
- support for unary minus
- add
Copy Definition to Clipboard
to achievement viewer - add progression/win_condition/missable indicators to achievement list
- automatically replace leaderboard submit with
always_true()
if identical to leaderboard start - allow opening script from command line (allows associating .rascript files with RATools.exe)
- improve error message when indexing empty array
- improve error message when encountering runtime code at an execution level inside a function
- fix #MinimumVersion comment not affecting leaderboards
- fix
lower_is_better
not being set correctly when creating new scripts - fix OrNext 0=1 following AddSource being improperly optimized out
- fix bitwise inversion flag being ignored when present on boths sides of operator
- fix ResetNextIf attached to PauseIf being turned into a ResetIf if trigger had no hit targets
- fix explicit modifier being discarded when relocating SubSource
- fix broken parser when shorthand function definition contains a parse error
- fix ability to call nested function recursively
- fix infinite loop when summation chain contains subtraction and pointers
- fix exception calling
max_of
with no parameters
v1.14.1
- no longer generate leaderboard values with operator in final measured clause
- fix exception typing a memory accessor before a clause surrounded in parentheses
- fix dumping script containing AddSource and SubSource in multiple clauses of same achievement
- fix migration of constants in measured statement using percent format
v1.14.0
- support for multiline comments via
/* */
- add
#MinimumVersion
header meta-comment to specify some minimum target version for optional features - serialize addresses as 16-bit if script does not reference any addresses over 0xFFFF
- support to translate
prev(A == B)
intoprev(A) == prev(B)
- support invoking functions stored in dictionaries without intermediate variables
- support indexing function returns without intermediate variables
- show output path as tooltip on local achievement count
- allow character chords containing Ctrl (i.e. Ctrl+Alt+4 for left curly brace on French keyboards)
- report error ORing hitcounts inside tally (instead of commas)
- better error when summing expressions that cannot be converted to requirements
- fix modification of nested dictionaries
- fix arithmetic and bitwise modifications being combined incorrectly
- fix constant modifier at end of AddSource chain becoming
always_true()
/always_false()
when viewing logic - fix
always_true()
clause being removed from end of AddSource chain - fix IDs not being generated when using the CLI tool
- fix modified comparisons being considered equal if they're equivalent without the modification
- fix modified comparison losing modification when used inside
tally()
- fix error specifying anonymous function as default parameter
- fix extra tally when dumping script containing AddHits chain inside Measured
- fix address not updating when shrinking big endian sizes
- fix exception processing
repeated(N, always_true() && never(X))
- fix exception doing a search and replace of some string to empty string
- fix exception when cross-multipling conditions results in an
always_true()
- fix exception when predicate doesn't return a value
v1.13.0
What's Changed
- add
float_be
function - add
type
parameter toachievement
function for missables/progression - add
transform
parameter toascii_string_equals
andunicode_string_equals
to support prev/prior logic - add
rascript-cli.exe
for command line processing of scripts - add leaderboard/rich presence value formats:
TENS
,HUNDREDS
,THOUSANDS
,FIXED1
,FIXED2
,FIXED3
- support for
trigger_when(measured(...))
via alt groups - allow
max_of()
to be called with an array of expressions - improved error messages for invalid function parameters
- improved error message when trying to use a complex object as a dictionary key
- fix assigning values to nested dictionaries
- fix anonymous function error using boolean directly in if statement
- fix "Input string was not in the correct format" on machines with locales using comma as a decimal separator
- fix find at end of file not wrapping to start of file
- fix mutually exclusive alts being collapsed into an
always_true()
clause - fix inverted bits being collapsed into a bitcount
- fix
never(always_true())
being discarded when guarded by anunless()
- fix pointer offset calculation when subtracting a memory reference
- fix exception comparing dictionary to value
- fix exception processing code note containing both "bit" and "byte" substrings
Full Changelog: v1.12.2...v1.13.0
v1.12.2
- ensure
tally
withdeduct
has at least one unbounded condition for total hit target - fix achievement containing only a modification to an AddSource constant not appearing modified
- fix modifier being lost when comparing values with the same pointer chain
- fix issue trying to process complex comparison to very large number
- fix "Centiseconds" rich presence macro; support "SecondsAsMinutes" rich presence macro
v1.12.1
- improve error message when parameter list has a trailing comma
- improve error message when using measured with an untallied comparison
- improve error message when building trigger from memory accessor without comparison
- allow variables to be assigned to default parameters of functions to emulate constants
- fix exception when viewport height change causes last line of script to be hidden
- fix exception when local variable has same name as global function
- fix ResetNextIf being converted to ResetIf when attached to a Trigger
- fix modified AddAddress being optimized out of comparison
- fix Measured target calculation when using tally
- fix dumping achievement using measured unbounded tally
v1.12.0
- only show first line of code notes in achievement/leaderboard views
- new dialog to preview list of achievements as they would appear in the emulator
- ability to export list of achievements from preview dialog
- support for
max_of
when dumping leaderboards - improve error when function call contains a function used as a variable
- fix infinite loop trying to find whitespace is a very long pointer chain
- fix empty referenced memory addresses list when generating new script for game with no assets
- fix issue generating multiple ResetNextIfs in an AndNext/OrNext chain
- fix issue generating nested clauses in alt groups
- fix infinite loop when underflow adjustment exceeds 32-bits
- fix exception rebalancing comparison of unwrapped pointer offset and zero
- fix exception when tally target is greater than 0x7FFFFFFF
- fix exception generating script for game without name
v1.11.0
- add
mbf32_le
function - add
substring
function - add
ascii_string_equals
andunicode_string_equals
functions - add XOR operator (
^
) - add bitwise invert operator (
~
) - add horizontal scrollbar when file is sufficiently wide
- ability to select entire lines by clicking on line number
- support for merging bits into bitcount when pointers are involved
- fix corruption of local notes containing newlines
- fix dumping game using masked pointers
- fix exception dumping game with no achievements or leaderboards
- fix exception dumping game with incomplete leaderboards (one or more blank fields)
- fix exception dumping rich presence with whitespace at the top of the file