Merge mon_stats.asm, cry.asm, print_level.asm, and mon_data.asm into pokemon.asm
Merge mon_party.asm into battle.asm
Merge menu.asm, menu_window.asm, and menu2.asm into menu.asm
Time to move everything out of home.asm:
- InexplicablyEmptyFunction was moved to home/map.asm
- The wDebugFlags functions and xor_a brothers were moved to
home/flag.asm because they're all flag-related.
- ret_2f3e was moved into home/region.asm
- The register alias sisters were moved to a new file called home/call_regs.asm
- IsInArray and SkipNames were joined by AddNTimes from home/math.asm
into home/array.asm, as they're all used to index arrays.
- CallPointerAt was moved into home/print_text.asm because given the
contents of that file it doesn't feel very out of place (that file
isn't very aptly named...)
- CountSetBits was moved into home/pokedex_flags.asm because it's unique
use is counting the amount of seen/caught mon in the podedex. GetWeekday
was pulled into this by proximity.
Other changes were also made:
- PushLYOverrides was moved from home/sprite_anims.asm to
home/battle.asm, because it's almost exclusively used for battle
animations, with the lone exception being the Magnet Train.
- home/copy.asm was renamed to home/gfx.asm, as it's all gfx-related
- home/copy2.asm was renamed to home/copy.asm, now it's the only file
called copy.
- SetHPPal and GetHPPal were moved from home/hp_pals.asm to
home/tilemap.asm, as they're attrmap related, like many functions in
that file are.
- home/rtc.asm was renamed to home/time_palettes.asm, as it had very
little to do with the RTC at all, all RTC functions being in home/time.asm
- home/handshake.asm was renamed to home/printer.asm.
- home/mon_data_2.asm was renamed to home/mon_party.asm.
Annotated the SGB functions in predef/sgb.asm, and some of the map scripts. Renamed several functions in home. Renamed six WRAM addresses corresponding to party icon animations, and renamed several others relative to these.
The PartyMon struct is really the box struct with volatile variables like status added.
Some other labels have been reworked.
Move structs no longer have explicit labels since their location is arbitrary and usually shared.