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.