aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorMiquel Sabaté Solà <mssola@mssola.com>2026-04-24 12:53:22 +0200
committerMiquel Sabaté Solà <mssola@mssola.com>2026-04-24 12:53:22 +0200
commitf89306f26f7fe26d7553c11111d49d971b174cea (patch)
treec52a459e312e760b62cfafcb0ec4d07c184c4cc9 /scripts
parent7c01c29cec6f5fcc94abcd154c47d2c78f765a78 (diff)
downloadtools.nes-f89306f26f7fe26d7553c11111d49d971b174cea.tar.gz
tools.nes-f89306f26f7fe26d7553c11111d49d971b174cea.zip
Fix calls with arguments containing addresses
Some macro calls could contain addresses, like this: MACRO_CALL @address Before this commit this was resolved at the "crunch" stage, but only because we were grabbing the value from the part that was not resolved. However, if this unresolved object came from a node which is not just a value (e.g. an arithmetic operation), then it just applied the computation from before the "crunch" stage. So, for something like this: MACRO_CALL @address + 1 the argument would have been computed as simply "1", as that unresolved object only contained the "+ 1" known part. Fix this by re-evaluating the node at "crunch" stage whenever we have an attached "node" member to the given pending definition. This way, we can evaluate the full node and get the proper value from the arithmetic computation. Signed-off-by: Miquel Sabaté Solà <mssola@mssola.com>
Diffstat (limited to 'scripts')
0 files changed, 0 insertions, 0 deletions