the constant in R/S/E has a `lsl 1` on it, so the table cannot be naturally expanded. It may be better to just remove the limiter, which is near the 2nd-to-last pointer to the table.
add teachy-tv table
add comment explaining how ListMenu works. Add table that ListMenu uses.
setweather takes a weather enum now instead of a number
setworldmapflag values are displayed in hex, and no longer offer flag-picking since it's a different list of flags
choose-save background palette
script args should be able to handle <null>
don't add/remove runs inside the method that isn't supposed to touch the runs collection
handle race condition where UI may be aware of tab being removed before ViewModel gets a chance to notify it
fix bounds checking in map editor collision counting
better default value for newly added map script tables
fix width/height double-check when failing to import multi-sprites
fix cutoff text
fix spelling error
You can now use branch-link like a function call. For example, instead of:
```arm
mov r0, #1
bl <thumb.new_menu_helpers.ScheduleBgCopyTilemapToVram>
mov r0, #2
bl <thumb.new_menu_helpers.ScheduleBgCopyTilemapToVram>
mov r0, #3
bl <thumb.new_menu_helpers.ScheduleBgCopyTilemapToVram>
```
you can do
```arm
thumb.new_menu_helpers.ScheduleBgCopyTilemapToVram(1)
thumb.new_menu_helpers.ScheduleBgCopyTilemapToVram(2)
thumb.new_menu_helpers.ScheduleBgCopyTilemapToVram(3)
```
See the new tests for examples of what you can do with this feature.
The first value in an = operation is allowed to be outside the range [0, 255]. All other values must be inside the range. You may add registers.
If you're doing += or -=, even the first value must be within the range [0, 255].
No support for parenthesis. High registers are supported only for addition or equality. So you could do:
`r8 = r9 + r10` or `r8 = r9`
but not
`r9 = 3` or `r9 = r2 + 3`
When pushing, the low registers are put at lower addresses, followed by lr. Pushing decreases sp.
When popping, the low registers taken from lower addresses, then pc is pulled from a higher address. Popping increases sp.
So we want to push r0/r1 and pop r0/pc, which means we want to manipulate r0, not r1. We only pop r1 so we have a space to pop pc from, not because we actually want to store the value.
* "from game X address Y" is now a comment in the examples (starts with leading #)
* include "from game X address Y" for macros as well
* examples should use the new script variable aliases
* prefer FireRed/Emerald for examples
* Document a few script commands
* Undo change to initclock parameters
Variable numbers will display in hex even without a |h, so this change
was misguided.
---------
Co-authored-by: haven1433 <haven1433@gmail.com>