This allows a more flexible script when working with or without the new recursive feature.
Also, the previous behavior was very unintuitive, and probably not that helpful.
Before, if you provided an "end" offset, the script would go AT LEAST as far as that offset, but would not terminate if it still hadn't found a ret command, and had satisfied all of the other stop conditions. This made it very easy to pass an "end" argument that caused the script to disassemble past the real end of the function, and in many cases get stuck in an infinite loop.
However, if you also provided the "dry-run" arg, it would set the "hard stop" flag, which instead made it so that the disassembler would actually stop dead when hitting the "end" offset.
Now, you must pass the stop offset to the --hard-stop arg, and it will act like the previous dry-run/hard-stop. The other behavior (that likes to get stuck in infinite loops) is no longer available.
also dropped a few erroneous .loop
targeted these functions/wram:
$d576
PrintScrollableText_WithTextBoxLabelVRAM0
BankswitchVRAM
CallPlaySFX
PrintNumber
FillBoxInBGMapWithZero
LoadScene
PrintTextInWideTextBox
fixed up the inputs for these functions:
DrawWideTextBox_PrintText
DrawWideTextBox_PrintTextNoDelay
DrawWideTextBox_PrintTextWithYesOrNoMenu
DrawWideTextBox_WaitForInput
PrintScrollableText_NoTextBoxLabelVRAM0
YesOrNoMenuWithText
InitTextPrinting_ProcessTextFromID
Func_2c4b
Func_35af
Func_35bf
DrawRegularTextBox
DrawRegularTextBoxVRAM0
TILEMAP_, NPC_, PALETTE_ and directions were the main constants. I targeted these functions throughout the project, and fixed up their input params:
Func_12c0ce
LoadOWObjectInMap
SetOWObjectDirection
SetOWObjectTilePosition
GetOWObjectTilePosition
Func_10e3c
Func_336d
SetOWObjectTilePositionAndDirection
GetPalettesWithID