Apparently, GNU sed has a few extensions that aren’t supported by the version of BSD sed that currently comes with Macs.
This would cause sort_symfile.sh to fail on macOS, causing the build to appear to fail at the last minute.
Admittedly, I’m not very familiar with sed, but this seems to do the trick on both macOS and Ubuntu.
- The input file must be last in the arguments list.
- The -i option, allowing the same file for input and output, doesn’t appear to be supported. Instead, I’m writing the output to a temporary file, and replacing the original file with that temporary file.
- Apparently ‘\w’ isn’t supported, so I’m simply using ‘.’ instead, as it appears to match “0_ROM0@” etc. just as well.
Out of the current two most prevalent official conventions, this one was
chosen, because they're used in a direct counterpart to this game, and
thus feel more accurate.
`hittarget` was misleading, as it doesn't actually "hit" the target, it
only plays the animation. As such, I've renamed it to `moveanim`.
`checkfaint` has nothing to do with checking if the user or target has
fainted, instead, it applies wCurDamage onto the target's HP, hitting
the substitute if applicable. I've renamed the command to `applydamage`
and all of its subfunctions accordingly.
Two bugs related to not raising the substitute when it should, one bug
related to not running king's rock when it should, and the other related
to running king's rock when it shouldn't. Fun.
The comments seemed to specify that `endloop` loops back to the command
before `critical` and executes that, which simply isn't true. It loops
back to `critical` itself, and executes `critical`, before continuing on
with the remaining commands.
Renamed a bunch of files, most of them one-off functions, to better fit
the general snake_case naming scheme. Also renamed some awfully long filenames.
I have no idea why this was a thing (do people store this repo on FAT32
flash drives or something?), but quite a bit of files had a permission
of 755. This isn't really a problem, but it's inconsistent and weird.
Cleaned up `engine/routines`, in favor of moving files into more
appropriate directories. predef-related routines are now in top-level
`engine`.
`rtc/delete_save_change_clock.asm` has been split into both
`menus/delete_save.asm` and `rtc/reset_password.asm`.
Made a new subdirectory:
* engine/math: Contains all generic math-related routines.
Renamed `title` to `movies`.
Moved some functions from `engine/routines/` to their fitting
directories, and cleaned up the base `engine/` directory.
Moved `engine/pokemon/tmhm.asm` back to `engine/items/`.
Made a new subdirectory:
* engine/tilesets: Contains all map-related graphics routines.